Метод setInterval() окна
- Предыдущая страница self
- Следующая страница setTimeout()
- Вернуться на один уровень выше Объект Window
Определение и использование
setInterval()
метод с указанным интервалом времени (в миллисекундах) для вызова функции.
setInterval()
Метод периодически вызывает функцию до тех пор, пока не будет вызван clearInterval() или закройте окно.
Комментарий:1 секунда = 1000 миллисекунд.
Совет
Чтобы выполнить функцию один раз, используйте setTimeout()
метод.
Чтобы удалить интервал, используйте setInterval()
Возвратный идентификатор:
myInterval = setInterval(function, milliseconds);
Затем вы можете остановить выполнение, вызовав clearInterval()
для остановки выполнения:
clearInterval(myInterval);
См. также:
Пример
Пример 1
Показывать "Hello" каждый секунду (1000 миллисекунд):
setInterval(function () {element.innerHTML += "Hello"}, 1000);
Пример 2
displayHello вызывается каждый секунду:
setInterval(displayHello, 1000);
Более примеров предоставлено внизу страницы.
Синтаксис
setInterval(function, milliseconds, param1, param2, ...)
Параметры
Параметры | Описание |
---|---|
function | Обязательно. Функция, которую нужно выполнить |
milliseconds |
Обязательно. Интервал выполнения. Если значение меньше 10, используйте 10. |
param1, param2, ... |
Опционально. Дополнительные параметры, передаваемые функции. IE9 и более ранние версии не поддерживают. |
Возвратное значение
Тип | Описание |
---|---|
Число |
ID таймера. Пожалуйста, установите этот id с clearInterval() Используйте вместе, чтобы取消 таймер. |
Поддержка браузера
Все браузеры поддерживают setInterval()
:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
Поддержка | Поддержка | Поддержка | Поддержка | Поддержка | Поддержка |
Более сложные примеры
Пример 3
Отображение времени, как часы:
setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); }
Пример 4
Остановка часов с помощью clearInterval():
const myInterval = setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); } function myStopFunction() { clearInterval(myInterval); }
Пример 5
Создание динамической ленты прогресса с помощью setInterval() и clearInterval():
function move() { const element = document.getElementById("myBar"); let width = 0; let id = setInterval(frame, 10); function frame() { if (width == 100) { clearInterval(id); } else { width++; element.style.width = width + '%'; } } }
Пример 6
Переключение между двумя цветами фона каждые 500 миллисекунд:
const myInterval = setInterval(setColor, 500); function setColor() { let x = document.body; x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow"; } function stopColor() { clearInterval(myInterval); }
Пример 7
Передайте параметры функции (не работает в IE9 и более ранних версиях):
setInterval(myFunc, 2000, "param1", "param2");
Но если вы используете анонимную функцию, она работает во всех браузерах:
setInterval(function() {myFunc("param1", "param2")}, 2000);
- Предыдущая страница self
- Следующая страница setTimeout()
- Вернуться на один уровень выше Объект Window