function removePreloader(){
$('.preloader-wrapper').delay(100).fadeOut('slow');
$('body').addClass('siteloaded');
}
$(window).on('DOMContentLoaded', function () {
removePreloader()
});
Привет есть такой простой код, при загрузке Дома выполянется функция. Как сделать проверку что если DOM грузится больше 2 секунды, выполнить эту функцию?
if (removePreloader.done) return;
removePreloader.done = true;
Работает так: при первом запуске устанавливается свойство, задача которого предотвратить второй запуск. Таким образом, функция сработает только один раз, сколько бы ни вызывалась.
setTimeout(removePreloader, 2000);
Работает так: через 2000 мс вызвать функцию removePreloader. То есть это отложенное событие, как и обработчик DOMContentLoaded. Какое-то из них сработает раньше. Так что либо страница быстро загрузится и сработает обработчик DOMContentLoaded, либо сработает таймер на 2 секунды и функция будет вызвана раньше.