Вызов js-функции с использованием таймера JQuery - PullRequest
136 голосов
/ 19 февраля 2010

Есть ли способ реализовать таймер для JQuery, например? каждые 10 секунд необходимо вызывать функцию js.

Я попробовал следующее

window.setTimeout(function() {
 alert('test');
}, 10000);

но это выполняется только один раз, а потом никогда.

Ответы [ 8 ]

214 голосов
/ 19 февраля 2010

Вы можете использовать это:

window.setInterval(yourfunction, 10000);

function yourfunction() { alert('test'); }
50 голосов
/ 19 февраля 2010
window.setInterval(function() {
 alert('test');
}, 10000);

window.setInterval

Вызывает функцию несколько раз, с фиксированная задержка между каждым вызовом эта функция.

45 голосов
/ 09 мая 2011

Может потребоваться проверить jQuery Timer для управления одним или несколькими таймерами.

http://code.google.com/p/jquery-timer/

var timer = $.timer(yourfunction, 10000);

function yourfunction() { alert('test'); }

Затем вы можете управлять им с помощью:

timer.play();
timer.pause();
timer.toggle();
timer.once();
etc...
25 голосов
/ 19 февраля 2010

setInterval - это функция, которую вы хотите.Это повторяется каждые х миллисекунд.

window.setInterval(function() {
    alert('test');
}, 10000);
11 голосов
/ 24 марта 2010

jQuery 1.4 также включает в себя метод .delay (duration, [queueName]), если он нужен только для однократного запуска и уже используется эта версия.

$('#foo').slideUp(300).delay(800).fadeIn(400);

http://api.jquery.com/delay/

Упс ... моя ошибка, вы искали событие, которое продолжит срабатывать. Я оставлю это здесь, кто-то может найти это полезным.

3 голосов
/ 19 февраля 2010

попробуйте jQueryTimers, у них отличная функциональность для опроса

http://plugins.jquery.com/project/timers

2 голосов
/ 19 сентября 2015

Вы можете использовать setInterval () метод, также вы можете вызвать setTimeout () из вашей пользовательской функции, например

function everyTenSec(){
  console.log("done");
  setTimeout(everyTenSec,10000);
}
everyTenSec();
0 голосов
/ 19 февраля 2010
function run() {
    window.setTimeout(
         "run()",
         1000
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...