我有這樣一個javascript「加載」功能:如何將.gif作爲背景圖像顯示?
function splashScreen() {
var div = document.createElement('div');
div.appendChild(document.createTextNode("some text"));
div.style.position = "fixed";
div.style.width = "100%";
div.style.height = "100%";
div.style.left = "0";
div.style.top = "0";
div.style.zIndex = "1000";
div.style.background = "white url('img/ajax-loader.gif') no-repeat center";
div.style.fontSize = "x-large";
div.style.textAlign = "center";
div.style.lineHeight = "3em";
div.style.opacity = "0.75";
div.style.filter = "alpha(opacity=75)"; // fix ie
document.body.appendChild(div);
return true;
}
我用這個函數形式的行動(onsubmit="return splashScreen()"
),以顯示「旋轉標誌」,而接下來的頁面加載... 問題是在「img/loading.gif」和safari(在winXP上)中:在ff和ie中我沒有問題,並且我清楚地看到了動畫gif。在safari中,我看不到它。 如果我改變圖像(顯然是靜態的)PNG圖像出現... 我做錯了什麼? Safari瀏覽器有什麼問題?
有已知的關於safari和動畫gif的bug報告。 gif凍結 - 在某些情況下甚至瀏覽器凍結 - 我在加載大量動畫gif的頁面上遇到過這種情況。 – easwee 2010-04-06 14:59:40
順便提一下,請不要在HTML文檔中使用'getAttribute' /'setAttribute'。 IE6-7中存在嚴重的錯誤,這會導致'style'屬性和其他錯誤。使用DOM Level 2的HTML和CSS屬性更可靠,更具可讀性:'div.style.textAlign ='center';'et al。另外,'document.body'優於'getElementsByTagName'調用。 – bobince 2010-04-06 15:59:46
坦克@bobince,我改變了你的意見源... 不幸的是,問題remanins:\ – 2010-04-07 07:29:36