Window setInterval() 方法
- Önceki sayfa self
- Sonraki sayfa setTimeout()
- Üst katman geri dön Window Nesnesi
定义和用法
setInterval()
方法以指定的时间间隔(以毫秒为单位)调用函数。
setInterval()
方法会周期性调用函数,直到调用 clearInterval() 或关闭窗口。
注释:1 秒 = 1000 毫秒。
提示
如需仅执行一次函数,请改用 setTimeout()
方法。
如需清除间隔,请使用 setInterval()
返回的 id:
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 |
Desteklenen | Desteklenen | Desteklenen | Desteklenen | Desteklenen | Desteklenen |
Daha fazla örnek
Örnek 3
Saat gibi zamanı gösterin:
setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); }
Örnek 4
Elektronik saati durdurmak için clearInterval() kullanın:
const myInterval = setInterval(myTimer, 1000); function myTimer() { const date = new Date(); document.getElementById("demo").innerHTML = date.toLocaleTimeString(); } function myStopFunction() { clearInterval(myInterval); }
Örnek 5
setInterval() ve clearInterval() ile dinamik ilerleme çubuğu oluşturun:
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 + '%'; } } }
Örnek 6
Her 500 milisaniyede iki arka plan rengi arasında geçiş yapar:
const myInterval = setInterval(setColor, 500); function setColor() { let x = document.body; x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow"; } function stopColor() { clearInterval(myInterval); }
Örnek 7
Parametreleri fonksiyona geçirin (IE9 ve daha eski sürümlerde çalışmaz):
setInterval(myFunc, 2000, "param1", "param2");
Ancak, gizli fonksiyon kullanırsanız, tüm tarayıcılar için geçerlidir:
setInterval(function() {myFunc("param1", "param2")}, 2000);
- Önceki sayfa self
- Sonraki sayfa setTimeout()
- Üst katman geri dön Window Nesnesi