在设定的时间后移除加载微调器

时间:2015-09-29 07:14:18

标签: javascript jquery loading

我使用以下javascript来加载和删除网页的微调器。

$(window).load(function() {
  $(".sk-rotating-plane").fadeOut("slow");;
  setTimeout(function(){
    $('body').addClass('loaded');
  }, 10);
});

我想要做的是更改它,以便如果页面加载时间超过5秒,则删除微调器(淡出),但如果加载需要正常时间(加载功能),我仍然希望它正常显示

可以使用javascript中的if语句完成吗?

3 个答案:

答案 0 :(得分:3)

试试这个:

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);

答案 1 :(得分:1)

关闭它也可以。

setTimeout(function(){
    $(".sk-rotating-plane").fadeOut("slow");
}, 5000);

$(window).on('load', function(){
    $(".sk-rotating-plane").fadeOut("slow");
    $('body').addClass('loaded');
    // more stuff
});

答案 2 :(得分:0)

您可以通过使用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);