即使加载了window.load,document.ready也会运行

时间:2012-04-28 19:05:32

标签: javascript jquery

要写什么来检查窗口是否已满载然后执行某些功能,如果没有则执行document.ready功能....即:我有预载图像,如果窗口没有满载而出现在document.ready中调用它.....如果窗口完全加载我隐藏这个预加载图像....如果窗口没有完全加载它会正确运行并在窗口加载后消失.....但是即使窗口已经加载,document.ready也会被调用...所以如何检查窗口是否已加载然后不执行document.ready,如果没有则执行document.ready

$(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 个答案:

答案 0 :(得分:3)

你可以这样做:

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来指示加载的函数是否已运行