为什么Internet Explorer(或Chrome)不会显示我的'Loading ...'gif,但Firefox会显示?

时间:2010-05-06 19:05:38

标签: javascript xmlhttprequest

我有一个页面可以触发几个xmlHttp请求(同步,普通的javascript,我很乐意使用jquery感谢提及)。

我正在隐藏/显示一个基于启动/停止相关javascript函数的加载图像的div(有时我有一系列3 xmlhttp请求产生函数嵌套)。

div = document.getElementById("loadingdiv");
if(div) {
    if(stillLoading) {
        div.style.visibility='visible';
        div.style.display='';

    } else {
        div.style.visibility='hidden';
        div.style.display='none';
    }
}

在Firefox中,这似乎工作正常。 div显示并显示所需处理的gif。在IE / Chrome中我没有得到这样的反馈。我只能通过调用上面的代码将alert()方法放在适当位置来证明div / image会显示,这会停止进程并且似乎向浏览器提供他们需要渲染dom更改所需的窗口

我希望IE / Chrome能够在Firefox中运行。是什么赋予了?

2 个答案:

答案 0 :(得分:3)

如果xmlhttprequests不是异步的,你会发现IE至少不会重写UI,直到它们完成(虽然没有在Chome中测试过),我在非同步的$ .ajax jquery请求中遇到了同样的问题。

答案 1 :(得分:1)

我意识到你并不是在问jQuery,但你可能会考虑使用jQuery来显示/隐藏你的div,以便更容易地与浏览器兼容。

http://api.jquery.com/show/

http://api.jquery.com/hide/

这是一个有用的教程:

http://www.learningjquery.com/2006/09/slicker-show-and-hide