A-A+
javascript中setTimeout()取消
我们使用setTimeout()可以延迟加载一些数据,但是如果不利用clearTimeout()取消的话,就会一直执行操作哦,这样虽然我们看不到,但是很不合理。
例1,代码如下:
- <script>
- function loadas()
- {
- document.getElementById('picid').innerHTML ='3秒后更新后';
- }
- setTimeout(loadas,3000);
- </script>
html代码如下:
- <div id="picid">3秒后换内容试一下</div>
上面的代码是实现了setTimeout()加载了,但每过3秒就会执行一次,虽然我们看不到,但确实是执行了,那么我们要怎么让它执行一次后就自动取消呢.
与setTimeout()相对应的函数有一个clearTimeout()哦,这样就可以取消了,代码如下:
- var timeoutProcess = setTimeout("alert('GOAL!')", 3000);
- var stopGoalLink = document.getElementById("stopGoalLink");
- attachEventListener(stopGoalLink, "click", stopGoal, false);
- function stopGoal() //xiariboke.net
- {
- clearTimeout(timeoutProcess);
- }