Есть функция
jQuery(document).ready(function(){
ScreenWidth = screen.width;
ScreenHeight = screen.height;
if (ScreenWidth < 480){
jQuery(".wishmod").html(" В отложенное");
setTimeout("jQuery('ymaps').css('display','none')",5000);
}
jQuery(".text_zoom").addClass("hidden");
})
Как сделать так, чтоб функция прогонялась каждую секунду, до бесконечности, при том, чтоб это не влияло на работу страницы, ну, чтоб не было загрузки, и торможения, обычный for
, while
, не работают
Чтобы функция запускалась через какой то промежуток времени можно использовать setInterval
Как вариант, можно использовать рекурсивный setTimeout:
const interval = 1000;
(function tick(){
// Your code...
console.log(performance.now());
// ... Your code
setTimeout(tick, interval);
})();
Преимущества перед setInterval:
чуть проще контролировать выполнение (в случае с setInterval вам надо записать куда-то id и вызывать clearInterval если вы хотите изменить время задержки/прекратить выполнение, в случае с setTimeout вы перед каждым вызовом можете скорректировать задержку следующего выполнения, либо по условию вообще выйти из рекурсии.
если ваш код выполняет какие то долгие вычисления (сравнимые по длительности с самим интервалом), то подход с рекурсией и setTimeout избавит вас от положения, когда старые вычисления еще идут, а вы уже начинаете следующий цикл
Недостатки: Больше печатать.
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеСуть проблемы такова: есть слайдер на Slick