Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Кроссбраузерность таймеров (https://javascript.ru/forum/events/64514-krossbrauzernost-tajjmerov.html)

warren buffet 18.08.2016 09:59

Ну так напиши им вот так

var setTimeOut= new function(h){

   return function(callback,delay){

      if(h) clearTimeout(h);
      h=setTimeout(callback,delay);

   };

};

setTimeOut(function(){alert('Here I am'),1000};
setTimeOut(function(){alert('Here I am'),1000};
setTimeOut(function(){alert('Here I am'),1000};
setTimeOut(function(){alert('Here I am'),1000};
setTimeOut(function(){alert('Here I am'),1000};
setTimeOut(function(){alert('Here I am'),1000};


Вот и ответ на вопрос сколько тут будет запущено таймеров.

warren buffet 18.08.2016 10:06

И кстати там, где требуется задержка отправки запросов на сервер, например в инлайновом поиске:

input.addEventListener('keyup',function(e){setTimeOut(foo,300)});


гарантирует отправку запроса не чаще чем 1 раз в 0.3 сек,

warren buffet 18.08.2016 10:08

Еще есть одна погань таймеров. Они продолжают работать когда окно свернуто и могут набить всяких изменений в данные или в хтмл, которые одним скачком рендерятся когда окно распахивается.


Часовой пояс GMT +3, время: 13:07.