Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(窗口)。刷新时加载奇怪行为_Javascript_Jquery - Fatal编程技术网

Javascript $(窗口)。刷新时加载奇怪行为

Javascript $(窗口)。刷新时加载奇怪行为,javascript,jquery,Javascript,Jquery,我有一个加载掩码,我想淡出一旦整个页面加载。它在用户第一次进入页面时就可以正常工作,但是如果用户刷新页面,加载掩码将在页面加载之前消失。我已经阅读了很多文章,似乎常见的问题是$windowload通常不会因为缓存而触发事件,但在我的情况下,刷新时触发的太快了……这可能是什么问题 1. <html> 2. <head><script type="text/javascript"> 3. Ext.onReady(f

我有一个加载掩码,我想淡出一旦整个页面加载。它在用户第一次进入页面时就可以正常工作,但是如果用户刷新页面,加载掩码将在页面加载之前消失。我已经阅读了很多文章,似乎常见的问题是$windowload通常不会因为缓存而触发事件,但在我的情况下,刷新时触发的太快了……这可能是什么问题

 1. <html>
   2.       <head><script type="text/javascript">
   3.             Ext.onReady(function() {....});
   4.             $(window).load(function(){$('#loading-mask').fadeOut(5000); $('#loading').fadeOut(5000);});
   5.       </script></head>
   6.       <body>
   7.             <div id="loading-mask"></div>
   8.             <div id="loading">
   9.                   <span id="loading-message">Loading Tibet...</span>
  10.              </div>
  11.       </body>
  12.  </html>
如有任何帮助或指导,将不胜感激:

谢谢


elshae

好的,所以我发现最好将JavaScript代码放在主体中

现在我的代码都放在正文中了,包括Ext.onReady,接下来

    <html>
        <head></head>
        <body onload="">

            <div id="loading-mask"></div>
            <div id="loading">
              <span id="loading-message">Loading Tibet...</span>
            </div>
            <script type="text/javascript">

            //Default blank image needed for some ExtJS widgets/if no image is found...
            Ext.BLANK_IMAGE_URL = "./ext-3.2.1/resources/images/default/s.gif";

            Ext.onReady(function() {
                .............
             });

//Outside Ext.onReady
 window.onload = function(){$('#loading-mask').fadeOut(5000); $('#loading').fadeOut(5000);}

</body></html>

//The css is:

#loading-mask {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     /*background: #D8D8D8;*/
    /* background: #6E6E6E;*/
    background: #000000;
     opacity: .8;
     z-index: 1;
}
#loading {
     position: absolute;
     top: 40%;
     left: 45%;
     z-index: 2;
}
#loading span {
     /*background: url('ajax-loader.gif') no-repeat left center;*/
     background: url('globe.gif') no-repeat left center;
     color: #BDBDBD;
     width: 60%;
     height: 30%;
     padding: 60px 70px;
     display: block;
}

为什么要将window.load放在Ext.onReady中?第二次,浏览器缓存中的所有元素都可用,这样window-onload将尽可能快。@eshae,我认为您不应该在window中执行这种效果onload@Josiah,它不在Ext.onReady代码中,但无可否认,我也尝试过,也没有得到正确的结果@gov,我希望页面上的所有内容加载完毕后图层遮罩立即消失。从我所读到的$window.load处理这个问题。对我来说,浏览器会缓存自己是有道理的,但问题是,我可以在遮罩消失后看到页面上加载的图像等…如果浏览器正在缓存,页面不会在$window.load之前加载吗???