157
setTimeout
(func, timeout)
Сколько миллисекунд ждать
перед запуском функции
Функция, которую надо выполнить
через timeout миллисекунд
Рис. 10.1. Аргументы
setTimeout
Следующий пример показывает, как открыть диалог
alert через
setTimeout.
var timeUp = function () {
alert("Время вышло!");
};
setTimeout(timeUp, 3000);
1
В
строке
мы создали функцию
timeUp, открывающую диа-
лог
alert с сообщением "Время вышло!". В строке
мы вызвали
setTimeout с
двумя аргументами: функцией, которую нужно запустить
(timeUp), и числом миллисекунд (3000), которые должны пройти перед
ее запуском. По сути, мы говорим: «Подожди три секунды и вызови
timeUp». Сразу после вызова setTimeout(timeUp, 3000) ничего
не произойдет, однако через три секунды сработает функция
timeUp,
открыв диалог
alert.
Обратите внимание — вызов
setTimeout вернул число 1. Это значе-
ние называют идентификатором (ID) таймера, который обозначает этот
конкретный таймер (отложенный вызов функции). Заметим, что возвра-
щаемое
setTimeout значение может быть любым числом, ведь это про-
сто идентификатор. Вызовите
setTimeout снова, и он вернет другой ID
таймера:
setTimeout(timeUp, 5000);
2
Полученный ID можно передать функции
clearTimeout, чтобы
отменить этот конкретный таймер. Об этом я расскажу ниже.
Clear timeout
—
отменить
задержку