html window.setInterval() 定时调用方法

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

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

语法:

setInterval(code, milliseconds);
setInterval(function, milliseconds, param1, param2, ...)

参数:

  • code/function : 必需。要调用一个代码串,也可以是一个函数。
  • milliseconds : 必须。周期性执行或调用 code/function 之间的时间间隔,以毫秒计。
  • param1, param2, ... : 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

返回值:返回一个 ID(数字),可以将这个ID传递给clearInterval(),clearTimeout() 以取消执行。

实例:

显示当前时间( setInterval() 方法会每秒执行一次函数,类似手表功能):

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

每 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);
}