Window setInterval() 方法
window.setInterval() 方法可以按照指定的周期 ( 以毫秒计 ) 来调用函数或计算表达式
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数
1000 毫秒 = 1 秒
如果只想执行一次可以使用 setTimeout() 方法
浏览器支持
支持 | 支持 | 支持 | 支持 | 支持 |
语法
setInterval(code, milliseconds); setInterval(function, milliseconds, param1, param2, ...)
参数
参数 | 描述 |
---|---|
code/function | 必需。要调用一个代码串,也可以是一个函数 |
milliseconds | 必须。周期性执行或调用 code/function 之间的时间间隔,以毫秒计 |
param1, param2, ... | 可选。 传给执行函数的其它参数 ( IE9 及其更早版本不支持该参数 ) |
返回值
返回一个 ID(数字),可以将这个 ID 传递给 clearInterval(),clearTimeout() 以取消执行
范例
每三秒(3000 毫秒)弹出 "Hello"
setInterval(function(){ alert("Hello"); }, 3000);
使用一个代码字符串
setInterval('alert("Hello");', 3000);
范例
通过调用一个已命名的函数,每三秒 ( 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, "Twle", "Google"); }
但是,如果使用匿名函数,则所有浏览器都支持
var myVar; function myStartFunction() { myVar = setInterval(function(){ alertFunc("Twle", "Google"); }, 2000); }
相关页面
Window 对象: clearInterval() 方法
Window 对象: setTimeout() 方法
Window 对象: clearTimeout() 方法