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() 方法

返回上一级

JavaScript 参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.