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



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

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

example:

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

这里的函数还可以(下面setInterval(a,b) 也同理)

setTimeout(\’myfun()\’,10000);调用一个函数

setTimeout(function(){…..},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毫秒(1s)就调用fun函数一次,并把定时器id赋值给建好的变量timer。
  }
  function fun(){ 
  alert(“hi”);
  }
  function  claerfun(){ //新建一个名为claerfun函数
  clearInterval(timer);//删除定时器
  }
</script>


















版权声明:本文为xiaominwu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaominwu/p/4348079.html