我使用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%
后,我想为我使用的<{p>}隐藏和删除#indexloader
$("#indexloader").fadeOut("slow",function() { $("#indexloader").remove(); });
但问题是,虽然脚本已加载,但页面未完全加载,我看到图像和其他内容仍在加载。
所以在淡化和移除#indexloader
之前我想检查$(window).load()
是否已经完成
有没有办法检查这个?
答案 0 :(得分:9)
将属性添加到window
:
$(window).load(function() {
window.loaded = true;
});
然后在隐藏window.loaded
之前检查#indexloader
。
答案 1 :(得分: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