Как доработать данный код?

132
18 сентября 2021, 01:10
function removePreloader(){
  $('.preloader-wrapper').delay(100).fadeOut('slow');
  $('body').addClass('siteloaded');
}
$(window).on('DOMContentLoaded', function () {
  removePreloader()
})

Привет есть такой простой код, при загрузке Дома выполянется функция. Как сделать проверку что если DOM грузится больше 2 секунды, выполнить эту функцию?

Answer 1
var loading = true;
setTimeout(function(){
  if( loading ){ removePreloader(); }
}, 2000);
$(window).on('DOMContentLoaded', function () {
  loading = false;
  /* Если этот кусок загрузится быстрее, функция внутри timeout уже не сработает */
  removePreloader();
});

/* Когда начинается выполнение скрипта, первым делом инициализируются функции,
   даже если они находятся в конце */
function removePreloader(){
  $('.preloader-wrapper').delay(100).fadeOut('slow');
  $('body').addClass('siteloaded');
}
Answer 2

Както так

setTimeout(()=>{/* если у body нет класса siteloaded, то добавить его */}, 2000)
READ ALSO
Система слота в JavaScript, проблема с if else

Система слота в JavaScript, проблема с if else

Я сделаю что-то типа слот аппарата, все у меня работает кроме одногоУ меня аппарат показывает выигрыш, когда рядом будут 3 одинаковые картинки

103
Base64, HMAC, и Hex на Go

Base64, HMAC, и Hex на Go

Есть код, написанный на JavaScript:

158
Проблема с Rest оператором js

Проблема с Rest оператором js

функция возвращает массив с теми аргументами, которые соответствуют типу данных, переданному в первом аргументе но если я возвращаю не consolelog(...

93
Задача с массивом JS

Задача с массивом JS

// Дан массив числами, например: [10, 20, 30, 50, 235, 3000]// Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5

246