Окно setTimeout()
Примеры
Подождите 5 секунд до приветствия:
const myTimeout = setTimeout(myGreeting, 5000);
Используйте clearTimeout(myTimeout), чтобы предотвратить запуск myGreeting:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Ниже приведены дополнительные примеры.
Определение и использование
Метод setTimeout()
вызывает функцию через несколько миллисекунд.
1 секунда = 1000 миллисекунд.
Примечания
Выполняется setTimeout()
только один раз.
Если вам нужны повторные выполнения, используйте setInterval()
вместо этого.
Используйте clearTimeout()
метод, чтобы предотвратить запуск функции.
Чтобы очистить тайм-аут, используйте идентификатор , возвращаемый функцией setTimeout():
myTimeout = setTimeout(function, milliseconds);
Затем вы можете остановить выполнение, вызвав clearTimeout():
clearTimeout(myTimeout);
Смотрите также:
Синтаксис
setTimeout(function, milliseconds, param1, param2, ...)
Параметры
Parameter | Description |
function | Required. The function to execute. |
milliseconds | Optional. Number of milliseconds to wait before executing. Default value is 0. |
param1, param2, ... |
Optional. Parameters to pass to the function. Not supported in IE9 and earlier. |
Возвращаемое значение
Тип | Описание |
Число | Идентификатор таймера. Используйте этот идентификатор с clearTimeout(id) для отмены таймера. |
Дополнительные примеры
Отображение окна предупреждения через 3 секунды (3000 миллисекунд):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Отображение синхронизированного текста:
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);
Откройте новое окно и закройте окно через три секунды (3000 миллисекунд):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
Считать вечно - но с возможностью остановки счета:
function startCount()
function stopCount()
Часы, созданные с событиями синхронизации:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
Передать параметры в функцию (не работает в IE9 и более ранних версиях):
setTimeout(myFunc, 2000, "param1", "param2");
Однако, если вы используете анонимную функцию, она будет работать во всех браузерах:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
Поддержка браузера
setTimeout()
поддерживается во всех браузерах:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |