Window setInterval() 方法

Window 對象參考手冊 Window 對象

實例

每三秒(3000 毫秒)彈出 "Hello" :

setInterval(function(){ alert("Hello"); }, 3000);


使用一個代碼字串:

setInterval('alert("Hello");', 3000);


定義和用法

setInterval() 方法可按照指定的週期(以毫秒計)來調用函數或計算運算式。

setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數。

提示: 1000 毫秒= 1 秒。

提示: 如果你只想執行一次可以使用 setTimeout() 方法。


流覽器支持

表格中的數字表示支持該屬性的第一個流覽器版本號。

方法
setInterval() 1.0 4.0 1.0 1.0 4.0

語法

setInterval(code, milliseconds);
setInterval(function, milliseconds, param1, param2, ...)
參數 描述
code/function 必需。要調用一個代碼串,也可以是一個函數。
milliseconds 必須。週期性執行或調用 code/function 之間的時間間隔,以毫秒計。
param1, param2, ... 可選。 傳給執行函數的其他參數(IE9 及其更早版本不支持該參數)。

技術細節

返回值: 返回一個 ID(數字),可以將這個ID傳遞給clearInterval(),clearTimeout() 以取消執行。

更多實例

實例

你可以通過調用一個已命名的函數,每三秒(3000 毫秒)彈出 "Hello":

var myVar; function myFunction() { myVar = setInterval(alertFunc, 3000); } function alertFunc() { alert("Hello!"); }


實例

顯示當前時間( setInterval() 方法會每秒執行一次函數,類似手錶功能):

var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t; }


實例

使用 clearInterval() 來停止 setInterval 的執行:

var myVar = setInterval(function(){ myTimer() }, 1000); function myTimer() { var d = new Date(); var t = d.toLocaleTimeString(); document.getElementById("demo").innerHTML = t; } function myStopFunction() { clearInterval(myVar); }


實例

使用 setInterval() 和 clearInterval()來創建動態進度條:

function move() { var elem = document.getElementById("myBar"); var width = 0; var id = setInterval(frame, 10); function frame() { if (width == 100) { clearInterval(id); } else { width++; elem.style.width = width + '%'; } } }


實例

每 300 毫秒切換背景顏色:

var myVar = setInterval(function(){ setColor() }, 300); function setColor() { var x = document.body; x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow"; } function stopColor() { clearInterval(myVar); }


實例

傳遞參數給 alertFunc 函數 ( IE9 及其更早版本不支持):

var myVar; function myStartFunction() { myVar = setInterval(alertFunc, 2000, "zaixian", "Google"); }


但是,如果使用匿名函數,則所有流覽器都支持:

var myVar; function myStartFunction() { myVar = setInterval(function(){ alertFunc("zaixian", "Google"); }, 2000); }



相關頁面

Window 對象: clearInterval() 方法

Window 對象: setTimeout() 方法

Window 對象: clearTimeout() 方法

Window 對象參考手冊 Window 對象