A-A+

javascript中setTimeout()取消

2016年10月14日 前端设计 暂无评论 阅读 8 views 次

我们使用setTimeout()可以延迟加载一些数据,但是如果不利用clearTimeout()取消的话,就会一直执行操作哦,这样虽然我们看不到,但是很不合理。

例1,代码如下:

  1. <script>  
  2. function loadas()  
  3. {  
  4.   document.getElementById('picid').innerHTML ='3秒后更新后';  
  5. }  
  6. setTimeout(loadas,3000);  
  7. </script>  

html代码如下:

  1. <div id="picid">3秒后换内容试一下</div>  

上面的代码是实现了setTimeout()加载了,但每过3秒就会执行一次,虽然我们看不到,但确实是执行了,那么我们要怎么让它执行一次后就自动取消呢.

与setTimeout()相对应的函数有一个clearTimeout()哦,这样就可以取消了,代码如下:

  1. var timeoutProcess = setTimeout("alert('GOAL!')", 3000);  
  2. var stopGoalLink = document.getElementById("stopGoalLink");  
  3. attachEventListener(stopGoalLink, "click", stopGoal, false);  
  4. function stopGoal() //xiariboke.net  
  5. {  
  6.    clearTimeout(timeoutProcess);  
  7. }  
标签:

给我留言