Глобальная функция setTimeout()
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
Примечание: Эта возможность доступна в Web Workers.
Краткое изложение
Вызов функции или выполнение фрагмента кода после указанной задержки.
Синтаксис
var timeoutID = window.setTimeout(func, [, delay, param1, param2, ...]); var timeoutID = window.setTimeout(code [, delay]);
где
timeoutID -это числовой ID, который может быть использован позже сwindow.clearTimeout().func -это функция, которую требуется вызвать послеdelayмиллисекунд.code- в альтернативном варианте применения это строка, содержащая код, который вы хотите выполнить послеdelayмиллисекунд (использовать этот метод не рекомендуется по тем же причинам, что и eval())delayНеобязательный - задержка в миллисекундах (тысячных долях секунды), после которой будет выполнен вызов функции. Реальная задержка может быть больше; см. Notes ниже.
Необходимо принять во внимание, что передача дополнительных параметров функции в первом варианте не работает в Internet Explorer 9 и ниже. Для использования этой функциональности в таких браузерах, необходимо использовать код для совместимости (см. раздел Аргументы колбэк-функции).
Предупреждение: Important: Prior to Gecko 13, Gecko passed an extra parameter to the callback routine, indicating the "actual lateness" of the timeout in milliseconds. This non-standard parameter is no longer passed.
Пример
В следующем примере на веб странице создаются две простые кнопки, к которым привязываются действия setTimeout и clearTimeout. Нажатие на первую кнопку установит таймаут, который вызовет диалоговое окно через две секунды. Также будет сохранён id для clearTimeout. Таймаут также может быть отменён по нажатию на вторую кнопку.
HTML Content
<p>Live Example</p>
<button onclick="delayedAlert();">Show an alert box after two seconds</button>
<p></p>
<button onclick="clearAlert();">Cancel alert before it happens</button>
JavaScript Content
var timeoutID;
function delayedAlert() {
timeoutID = window.setTimeout(slowAlert, 2000);
}
function slowAlert() {
alert("That was really slow!");
}
function clearAlert() {
window.clearTimeout(timeoutID);
}