Справочник Javascript
setTimeout
Синтаксис
timeout_id = window.setTimeout ( func|code, delay)
Аргументы
func|code
Функция или строка кода для выполнения
delay
Задержка в миллисекундах, т.е 1000 это 1 секунда
Описание, примеры
В отличие от метода setInterval , setTimeout
выполняет код только один раз.
В каком виде указывать первый параметр - разницы нет.
При указании строки кода - динамически создается функция func
с телом code
.
Следующие два вызова почти одинаковы:
Выделить все
setTimeout( 'alert("прошла секунда")' , 1000 )
function sec( ) {
alert ( "прошла секунда" )
}
setTimeout( sec, 1000 )
Но более правильным считается объявление функции в явном виде, например так:
setTimeout( function ( ) { alert ( ...) } , 1000 )
Вызов со строкой существует для совместимости с прежними версиями javascript.
this
Функция выполняется в другом контексте, отличном от контекста, в котором задается setTimeout
.
При этом значение this = window
, поэтому о передаче правильного this надо позаботиться отдельно.
Пример: Без передачи this
Пример: Передача this через call
Отмена выполнения
Вы можете отменить выполнение setTimeout
при помощи clearTimeout , используя для этого идентификатор таймаута.
Пример:
var timeout_id = setTimeout( ...)
clearTimeout( timeout_id)
Это интересно
Самые жесткие ограничения для интернет-пользователей существуют в Пакистане. Местным любителям поблуждать по Сети закрыт доступ почти к полусотне сайтов – например, к Facebook и YouTube. Причина – несоответствие этих ресурсов нормам исламской морали. Странно, но доступ ко многим откровенным сайтам при этом остается открытым…