Окно setInterval()
Примеры
Отображать «Hello» каждую секунду (1000 миллисекунд):
setInterval(function () {element.innerHTML += "Hello"}, 1000);
Вызывать displayHello каждую секунду:
setInterval(displayHello, 1000);
Ниже приведены дополнительные примеры.
Определение и использование
Метод setInterval()
вызывает функцию с заданными интервалами (в миллисекундах).
Метод setInterval()
продолжает вызывать функцию до тех пор
clearInterval()
, пока не будет вызвана или окно не будет закрыто.
1 секунда = 1000 миллисекунд.
Примечание
Чтобы выполнить функцию только один раз, используйте setTimeout()
вместо этого метод.
Чтобы очистить интервал, используйте идентификатор , возвращаемый функцией setInterval():
myInterval = setInterval(function, milliseconds);
Затем вы можете остановить выполнение, вызвав clearInterval():
clearInterval(myInterval);
Смотрите также:
Синтаксис
setInterval(function, milliseconds, param1, param2, ...)
Параметры
Parameter | Description |
function | Required. The function to execute |
milliseconds | Required. The execution interval. If the value is less than 10, 10 is used |
param1, param2, ... | Optional. Additional parameters to pass to the function Not supported in IE9 and earlier. |
Возвращаемое значение
Тип | Описание |
Число | Идентификатор таймера. Используйте этот идентификатор с clearInterval(), чтобы отменить таймер. |
Дополнительные примеры
Пример
Отображать время как цифровые часы:
setInterval(myTimer, 1000);
function myTimer()
{
const date = new Date();
document.getElementById("demo").innerHTML = date.toLocaleTimeString();
}
Пример
Использование clearInterval() для остановки цифровых часов:
const myInterval = setInterval(myTimer, 1000);
function myTimer() {
const date = new Date();
document.getElementById("demo").innerHTML = date.toLocaleTimeString();
}
function myStopFunction()
{
clearInterval(myInterval);
}
Пример
Использование 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 + '%';
}
}
}
Пример
Переключение между двумя цветами фона каждые 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);
}
Пример
Передать параметры в функцию (не работает в IE9 и более ранних версиях):
setInterval(myFunc, 2000, "param1", "param2");
Однако, если вы используете анонимную функцию, она работает во всех браузерах:
setInterval(function() {myFunc("param1", "param2")}, 2000);
Поддержка браузера
setInterval()
поддерживается во всех браузерах:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |