Window setInterval() 方法
實例
每三秒(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() 方法