更多例子
您还可以引用一个“命名”函数; 每3秒(3000毫秒)警告“你好”:
var myVar;
function myFunction() {
myVar = setInterval(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
尝试一下
显示当前时间(setInterval()方法将每1秒执行一次该函数,就像数字手表一样):
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
尝试一下
使用clearInterval()在前一个示例中停止时间:
var myVar = setInterval(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(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, "First param", "Second param");
}
尝试一下
但是,如果您使用匿名函数,它将适用于所有浏览器:
var myVar;
function myStartFunction() {
myVar = setInterval(function(){ alertFunc("First param", "Second param"); }, 2000);
}
尝试一下