Javascript 在设定时间后卸下加载微调器
我使用以下javascript加载和删除网页的微调器Javascript 在设定时间后卸下加载微调器,javascript,jquery,loading,Javascript,Jquery,Loading,我使用以下javascript加载和删除网页的微调器 $(window).load(function() { $(".sk-rotating-plane").fadeOut("slow");; setTimeout(function(){ $('body').addClass('loaded'); }, 10); }); 我想做的是更改它,以便如果页面加载时间超过5秒,则移除微调器(淡出),但如果加载时间正常,我仍然希望它正常显示(加载功能) 这可以通过javascript
$(window).load(function() {
$(".sk-rotating-plane").fadeOut("slow");;
setTimeout(function(){
$('body').addClass('loaded');
}, 10);
});
我想做的是更改它,以便如果页面加载时间超过5秒,则移除微调器(淡出),但如果加载时间正常,我仍然希望它正常显示(加载功能)
这可以通过javascript中的if语句来实现吗?试试以下方法:
var executed = false;
var loaded = function () {
if (!executed) {
$(".sk-rotating-plane").fadeOut("slow");
setTimeout(function () {
$('body').addClass('loaded');
}, 10);
executed = true;
}
};
$(window).on('load', loaded);
setTimeout(loaded, 5000);
也可以关闭两次
setTimeout(function(){
$(".sk-rotating-plane").fadeOut("slow");
}, 5000);
$(window).on('load', function(){
$(".sk-rotating-plane").fadeOut("slow");
$('body').addClass('loaded');
// more stuff
});
您可以通过使用setinterval方法定期查找,在加载时清除计时器来实现这一点
$(window).load(function() {
clearInterval(stimer);
$('body').addClass('loaded');
});
现在启动计时器以查找加载时间
var count=1
var stimer=setInterval(function(){
if(count==5)
{
$(".sk-rotating-plane").fadeOut("slow"); // taking more time
}
count++;
}, 1000);
在5秒钟内,您需要将setTimeout函数设置为
5000
,这样10
与您的问题不会有太大的关系,但您的10毫秒是一个非常短的超时时间。@TracyFu,$('body')。addClass('loaded')
只是在加载页面后更改正文的css
。@RayonDabre我理解这一点。我想指出的是,10毫秒并不值得设置超时。如果目的是等待动画完成,则衰减速度为600毫秒。@RayonDabre…这就是为什么我以“与问题无关”开头感谢Rayon,它工作得非常好!用较慢的资源负载测试它。对于测试微调器加载时间的任何人,此延迟代理可能会有所帮助: