我有这样一个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