javascript中的计时器

javascript中的定时器有两种:一种是一次性定时器,一种是可以持续使用的定时器;

1:一次性定时器setTimeout(a,b);兼容ie的任何版本

该方法接受两个参数,第一个是要执行的代码,第二个是将要执行的时间单位是毫秒。同时该方法返回一个唯一的定时器id方便我们调用和删除该定时器。该方法是BOM的window对象的方法所以我们用的时候可以把对象省略,也就是说setTimeout(‘alert(“aaaa”)’,10000);和window.setTimeout(‘alert(“aaaa”)’,10000);是等效的,后面几个方法也是同理。

example:

setTimeout(‘alert(“aaaa”)’,10000);

1.1那么怎么删除一次性定时器呢?答案是要利用setTimeout()返回的定时器id.

clearTimeout(timer); 定时执行之前先关闭定时器

var timer=setTimeout(‘alert(“aaaa”)’,100);

2:持续使用的定时器setInterval(a,b)  我测试的是兼容IE5以上的啊

该方法和一次性定时器setTimeout(a,b);相同,只是第二个参数不是一次性时间而是每次间隔的时间

setInterval(‘alert(“aaaa”)’,100);

2.1删除持续使用的定时器,也是要利用setInterval()返回的定时器id.

var timer=setInterval(‘alert(“aaaa”)’,100);
clearInterval(timer);

example:

<script type=”text/javascript”>
window.onload=function(){ //页面内容加载完毕执行匿名函数
var div=document.getElementById(“div1″); //获取div
time();  //执行time()函数
div.onclick=function(){ //当div被点击的时候执行匿名函数里面的 claerfun()函数
claerfun();
}
}
var timer; //新建一个变量用来后面装定时器返回的id
function time(){ //新建一个名为time函数
timer=setInterval(fun,1000); //创建定时器每隔1000毫秒就调用fun函数一次,并把定时器id赋值给建好的变量timer。
}
function fun(){
alert(“hi”);
}
function  claerfun(){ //新建一个名为claerfun函数
clearInterval(timer);//删除定时器
}
</script>