Справочник 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)
|
Это интересно
Общее количество поисковых запросов в мире превышает отметку в 6 млрд. за месяц
|