Метод setTimeout()
Примеры setTimeout()
Подождите 5 секунд для приветствия:
const myTimeout = setTimeout(myGreeting, 5000);
Попробуйте сами »
Используйте clearTimeout(myTimeout) для предотвращения запуска myGreeting:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Попробуйте сами »
Ещё примеры ниже.
Описание setTimeout()
Метод setTimeout() вызывает функцию через несколько миллисекунд.
1 second = 1000 milliseconds.
Примечание setTimeout()
Метод setTimeout() выполняется только один раз.
Если вам нужны повторные выполнения, используйте метод setInterval().
Используйте метод clearTimeout(), чтобы предотвратить запуск функции.
Чтобы очистить тайм-аут, используйте id, возвращаемый setTimeout():
myTimeout = setTimeout(function, milliseconds);
Затем вы можете остановить выполнение, вызвав clearTimeout():
clearTimeout(myTimeout);
Похожи на setTimeout()
Синтаксис setTimeout()
setTimeout(function, milliseconds, param1, param2, ...)
Параметры setTimeout()
| Параметр | Описание |
|---|---|
| function | Обязательно. Функция для выполнения. |
| milliseconds | Необязательно. Количество миллисекунд ожидания перед выполнением. Значение по умолчанию — 0. |
| param1, param2, ... |
Необязательно. Параметры для передачи в function. Не поддерживается в IE9 и более ранних версиях. |
Возвращаемое значение setTimeout()
| Тип | Описание |
|---|---|
| Number | Идентификатор таймера. Используйте этот идентификатор с clearTimeout(id), чтобы отменить таймер. |
Ещё примеры setTimeout()
Отобразить окно оповещения через 3 секунды (3000 миллисекунд):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("ПРИВЕТ!");
}
Попробуйте сами »
Отображение синхронизированного текста:
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 секунды" }, 2000);
setTimeout(function(){ x.value = "4 секунды" }, 4000);
setTimeout(function(){ x.value = "6 секунд" }, 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()
setTimeout() поддерживается во всех браузерах:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Да | Да | Да | Да | Да | Да |