Как установить таймер в JavaScript - PullRequest
10 голосов
/ 20 января 2009

Я хочу запустить следующий код:

ajaxUpdate(10);

С задержкой в ​​1 секунду между каждой итерацией. Как я могу это сделать?

Ответы [ 6 ]

39 голосов
/ 20 января 2009
var i = window.setInterval( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

Это будет вызывать ajaxUpdate каждую секунду, пока такое время не будет остановлено.

И если вы хотите остановить это позже:

window.clearInterval( i ); 

Если вы хотите запустить его один раз ,

var i = window.setTimeout( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

сделает свое дело, и если вы хотите остановить его работу до того, как он начнет работать один раз

window.clearTimeout(i); 

Префикс «window» не является строго обязательным, но это хорошая идея, потому что вы никогда не знаете, когда кто-то еще может захотеть создать что-то еще с тем же именем в видимой области видимости, которое ведет себя по-разному.

Для полной информации по этому вопросу я всегда нахожу MDC Очень полезным:

Также вы можете прочитать эту статью о таймерах Джона Резига,

6 голосов
/ 20 января 2009

Вы также можете сделать это с

setTimeout(function() {ajaxUpdate(10)}, 1000);
5 голосов
/ 20 января 2009

Для этого вы можете использовать setInterval(). Создайте анонимную функцию для вызова и используйте время в миллисекундах:

var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000);
1 голос
/ 10 сентября 2009

Вы можете использовать этот Таймер JavaScript класс.

0 голосов
/ 20 января 2009

Вы также можете использовать таймеры jQuery: http://plugins.jquery.com/project/timers

0 голосов
/ 20 января 2009

Вы можете использовать функцию setTimeout (String fonc, Integer delay). Например, для выполнения вашего кода каждую секунду вы можете сделать:

window.setTimout("ajaxUpate",100);

Надеюсь, я отвечу на ваш вопрос;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...