Я не знаю по каким причинам здесь не приведен самый правильный вариант задержки, а именно через window.setInterval().
Важно понимать разницу между setTimeout и setInterval В первом случае для обеспечения повторения через заданный промежуток времени, вам необходимо организовать рекурсию или косвенную рекурсию. То есть, например, разместить строку window.setTimeout("hierGehtsWeiter()", 3000); в методе hierGehtsWeiter() В случае же setInterval, никакой рекурсии не нужно. Более того вызов этой функции может происходить из любого места. Собственно вызов приведет к тому что, заданная в первом параметре функция или метод будут вызываться через, заданное во втором параметре количество миллисекунд. Единственным неприятным моментом в использовании window.setInterval() является необходимость хранить значение интегрального идентификатора интервала, который используется для остановки работы этой функции. Этот интервал возвращается методом window.setInterval() и используется в методе window.clearInterval()
Для пущей ясности привожу пример:
Код | var oInterval;
function fnStartInterval(){ oInterval = window.setInterval("fnRecycle()",1000); }
function fnRecycle(){ // Код, выполняющийся каждую секунду }
function fnStopInterval(){ window.clearInterval(oInterval); }
|
|