Есть ли способ реализовать таймер для JQuery, например. каждые 10 секунд необходимо вызывать js-функцию.
Я пробовал следующее
window.setTimeout(function() {
alert('test');
}, 10000);
но это выполняется только один раз и никогда больше.
Ответы:
Вы можете использовать это:
window.setInterval(yourfunction, 10000);
function yourfunction() { alert('test'); }
window.setInterval(function() {
alert('test');
}, 10000);
Вызывает функцию несколько раз с фиксированной задержкой по времени между каждым вызовом этой функции.
Вы можете попробовать 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...
setInterval - это нужная вам функция. Это повторяется каждые x миллисекунд.
window.setInterval(function() {
alert('test');
}, 10000);
jQuery 1.4 также включает метод .delay (duration, [queueName]), если вам нужно, чтобы он сработал только один раз и вы уже начали использовать эту версию.
$('#foo').slideUp(300).delay(800).fadeIn(400);
Упс .... моя ошибка, вы искали событие, которое будет запускаться. Я оставлю это здесь, кому-то это может пригодиться.
Вы можете использовать метод setInterval (), также вы можете вызвать setTimeout () из своей пользовательской функции, например
function everyTenSec(){
console.log("done");
setTimeout(everyTenSec,10000);
}
everyTenSec();