5

我使用 Jquery UI 进度条创建了一个网站加载进度条。此进度条显示脚本加载的状态。一个样本是

$.getScript('_int/ajax.js',function() {
    $("#progressinfo").html("Loading Complete ...");
    $("#progressbar").progressbar({ value: 100 });
});

这个进度条正在#indexloader阻止正在加载的网站,它的 CSS 是:

#indexloader {
    z-index:100;
    position:fixed;
    top:0;
    left:0;
    background:#FFF;
    width:100%;height:100%;
}

进度条到达后100%,我想隐藏和删除#indexloader我用过的

$("#indexloader").fadeOut("slow",function() { $("#indexloader").remove(); });

但问题是,虽然脚本已加载,但页面并未完全加载,我看到图像和其他内容仍在加载。

所以在褪色和移除之前#indexloader我想检查是否$(window).load()已经完成

有没有办法检查这个?

4

2 回答 2

10

将属性添加到window

$(window).load(function() {
    window.loaded = true;
});

然后window.loaded在隐藏之前检查#indexloader

于 2010-04-27T00:22:14.597 回答
1

是否在选项上淡出加载程序window.load?似乎是做你想做的最简单的方法:

$(window).load(function() {
  $("#indexloader").fadeOut("slow",function() { $("#indexloader").remove(); });
});

或者,在 上设置一个变量window.load,如下所示:

var loaded = false;
$(window).load(function() { loaded = true; });

然后更改您的淡出代码以查找它:

function fadeIndex() {
  $("#indexloader").fadeOut("slow",function() { $("#indexloader").remove(); });
}
if (loaded) fadeIndex(); //aleady loaded
else $(window).load(fadeIndex); //fade when we do load
于 2010-04-27T00:22:14.407 回答