最新的Web开发教程
 

窗口setInterval() Method

<窗口对象

警报"Hello"每3秒(3000 milliseconds)

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

更多"Try it Yourself"下面的例子。


定义和用法

所述setInterval()方法调用的功能或在指定的时间间隔计算表达式(in milliseconds)

setInterval()方法会继续调用,直到函数clearInterval()被调用时,或关闭窗口。

返回的ID值setInterval()被用作参数clearInterval()方法。

Tip: 1000毫秒= 1秒。

提示:要执行的函数只有一次,毫秒指定次数后,可使用setTimeout()方法。


浏览器支持

在表中的数字规定,完全支持方法的第一个浏览器版本。

方法
setInterval() 1.0 4 1.0 1.0 4

句法

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

参数值

参数 描述
function 需要。 将要执行的功能
milliseconds 需要。 该时间间隔(in milliseconds)关于如何经常执行代码
param1,param2,... 可选的。 额外的参数传递给功能 (不支持在IE9和更早版本)

技术细节

返回值: 一个数字,表示被设置的定时器的ID值。 使用此值与clearInterval()方法来取消计时器

例子

更多示例

您也可以指"named"功能; 警报"Hello"每3秒(3000 milliseconds)

var myVar;

function myFunction() {
    myVar = setInterval(alertFunc, 3000);
}

function alertFunc() {
    alert("Hello!");
}
试一试»

显示当前的时间(the setInterval()方法执行的函数每隔1秒一次,就像一个数字手表):

var myVar = setInterval(function(){ myTimer() }, 1000);

function myTimer() {
    var d = new Date();
    var t = d.toLocaleTimeString();
    document.getElementById("demo").innerHTML = t;
}
试一试»

使用clearInterval()在上例中,停止时间:

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功能(does not work in IE9 and earlier)

var myVar;

function myStartFunction() {
    myVar = setInterval(alertFunc, 2000, "First param", "Second param");
}
试一试»

但是,如果您使用匿名函数,它会在所有的浏览器:

var myVar;

function myStartFunction() {
    myVar = setInterval(function(){ alertFunc("First param", "Second param"); }, 2000);
}
试一试»

相关页面

窗口对象: href="met_win_clearinterval.html"> clearInterval() Method

窗口对象: href="met_win_settimeout.html"> setTimeout() Method

窗口对象: href="met_win_cleartimeout.html"> clearTimeout() Method


<窗口对象