Используя setTimeout()
возможно запустить функцию в требуемое время:
setTimeout(function, 60000);
Но что, если я хотел бы запустить функцию многократно? Каждый раз, когда временной интервал передает, я хотел бы выполнить функцию (каждые 60 секунд, скажем).
Если вас не волнует, может ли код в таймере
занять больше времени, чем ваш интервал, используйте setInterval ()
:
setInterval(function, delay)
Это запускает функцию, переданную как первую параметр снова и снова.
Лучше использовать setTimeout
вместе с самоисполняющейся анонимной
функцией:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
, которая гарантирует, что следующий вызов не будет выполнен до того, как ваш код будет выполнен . В этом примере я использовал arguments.callee
как ссылку на функцию. Это лучший способ дать функции имя и вызвать его в setTimeout
, потому что arguments.callee
устарел в ecmascript 5.
setInterval(fn,time)
- это метод, который вам нужен.
используйте
setInterval(function, 60000);
EDIT : (В случае, если вы хотите остановить часы после их запуска)
Раздел скриптов
<script>
var int=self.setInterval(function, 60000);
</script>
и HTML-код
<!-- Stop Button -->
<a href="#" onclick="window.clearInterval(int);return false;">Stop</a>