2012-04-28 54 views
0

如何编写以检查窗口是否已完全加载,然后执行一些功能,如果没有,则执行document.ready函数....即:我有一个预加载图像,如果窗口是不是完全加载,我打电话给document.ready .....,如果窗口是完全加载我隐藏这个预加载的图像....它正确运行,如果窗口没有完全加载,消失窗口后得到加载... ..但document.ready被调用,即使已经被加载窗口......所以如何检查是否加载窗口然后不做document.ready如果没有的话做document.readydocument.ready即使加载了window.load也会运行

$(document).ready(function (e) { 
    $("#loding").css("visibility", "visible"); 
    $("body").css('overflow', 'hidden'); 
    $("#container").css("opacity", 0); 
}); 
$(window).load(function (e) { 
    $("#loding").animate({ 
     opacity: 0 
    }, 500, function() { 
     $("#loding").css("width", "70%"); 
     $("#loding").css("visibility", "hidden"); 
    }); 
    $("#container").css("opacity", 1); 
    $("body").css('overflow', 'auto'); 
}); 
+1

拼写纳粹:它加载,而不是装载仪:-) – 2012-05-03 15:04:41

回答

3

你可以做SOMET兴这样的:

var loaded = false; 
$(document).ready(function(e) { 
    if(!loaded) { 
    // only run here if the $(window).load() function hasnt run 
    } 

}); 
$(window).load(function(e) { 
    // run your functions 
    loaded = true; 
}); 

使用简单boolean,表示如果加载功能都运行不了

+0

但即使这项工作... 。当我重新加载或刷新页面..document.ready再次运行...因为var加载是再次错误! – Booonz 2012-05-01 06:07:58

+0

@Booonz同样的逻辑将应用于每一页加载 – ManseUK 2012-05-01 08:13:18

+0

这意味着document.ready将在每一页加载中运行! – Booonz 2012-05-03 01:39:06

相关问题