Подтвердить что ты не робот

JavaScript: получить код для запуска каждую минуту

Есть ли способ сделать некоторый JS-код исполняемым каждые 60 секунд? Я думаю, что это возможно с помощью цикла while, но есть ли более аккуратное решение? JQuery приветствуется, как всегда.

4b9b3361

Ответ 1

Использование setInterval:

setInterval(function() {
    // your code goes here...
}, 60 * 1000); // 60 * 1000 milsec

Функция возвращает идентификатор, вы можете очистить свой интервал clearInterval:

var timerID = setInterval(function() {
    // your code goes here...
}, 60 * 1000); 

clearInterval(timerID); // The setInterval it cleared and doesn't run anymore.

Функция "сестра" setTimeout/clearTimeout найдите их.


Если вы хотите запустить функцию на странице init, а затем через 60 секунд, через 120 секунд после...:

function fn60sec() {
    // runs every 60 sec and runs on init.
}
fn60sec();
setInterval(fn60sec, 60*1000);

Ответ 2

Вы можете использовать setInterval для этого.

<script type="text/javascript">
function myFunction () {
    console.log('Executed!');
}

var interval = setInterval(function () { myFunction(); }, 60000);
</script>

Отключите таймер, установив clearInterval(interval).

Смотрите этот скрипт: http://jsfiddle.net/p6NJt/2/