2015-09-29 3 views
2

Я использую следующий javascript для загрузки и удаления счетчика для веб-страницы.Удалить загружаемый счетчик после установленного времени

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

То, что я хочу сделать, это изменить его так, что если нагрузка страницы занимает больше времени, чем на 5 секунд, затем снимите кок (затухания), но я все еще хочу, чтобы оно нормально, если загрузка занимает нормальное время (функция загрузки).

Можно ли это сделать с помощью оператора if в javascript?

+1

в течение 5 секунд, вам необходимо установить функцию SetTimeout на '5000', что' 10' не будет достаточно – Makudex

+1

Unrelated к вашему вопрос, но 10 у вас есть в миллисекундах, что очень кратковременно для тайм-аута. –

+0

@TracyFu, '$ ('body'). AddClass ('loaded');' просто для того, чтобы изменить '' '' '' body', когда страница будет загружена. – Rayon

ответ

2

Попробуйте это:

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

Спасибо, Rayon, он отлично работал! Протестировано с замедлением загрузки ресурсов. Для тех, кто там тестирует время загрузки для роликов, этот прокси-сервер задержки может оказаться полезным: [link] (http://deelay.me) –

1

Это также хорошо, чтобы закрыть его дважды.

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

$(window).on('load', function(){ 
    $(".sk-rotating-plane").fadeOut("slow"); 
    $('body').addClass('loaded'); 
    // more stuff 
}); 
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); 
Смежные вопросы