天天看点

BOM:window对象的方法之定时器setTimeout()和停止setTimeout()定时器

window对象提供了两个好用的方法:定时器,分别是:

- setTimeout()

- setInterval()

window.setTimeout(调用函数,[延迟的毫秒数]);

毫秒数如果不写,默认是0,会立即执行。

setTimeout()方法用于设置一个定时器,该定时器在定时器设置的毫秒数到期后自动执行调用。

<script>
// window在调用时可以省略,直接写setTimeout
setTimeout(function(){
	// 表示3秒后弹出
	alert(12);
},3000)
</script>
           

setTimeout参数中的函数可以直接写函数,也可以写函数名,如下所示:

setTimeout(callback,2000);
function callback(){
	alert(123);
}
           

另外页面中可能会有很多的定时器,不止一个,所以经常给每个定时器起一个名字来区分(标识符)。

<script>
var timer1 = setTimeout(callback,2000); // 定时器1
var timer2 = setTimeout(callback,3000); // 定时器2
function callback(){
	alert("hello");
}
</script>
           

停止setTimeout()定时器:

window.clearTimeout(定时器的标识符);

<script>
var timer1 = setTimeout(callback,3000); // 定时器1
var timer2 = setTimeout(callback,5000); // 定时器2
function callback(){
	alert("hello"); // 执行的是定时器2
}
clearTimeout(timer1); // 停止定时器1
</script>
           

继续阅读