如何停止setInterval和setTimeout事件

在js代码中执行循环事件的时候,经常会用到setInterval 和 setTimeout这两个方法,关于这两个方法的细节这里不详细讨论了,跟版网在这简要分享下在需要停止循环事件的时候该如何去操作。 (1)setInterval 方法可按照指定的周期(以毫秒计)来调用函数或计算
在js代码中执行循环事件的时候,经常会用到setInterval 和 setTimeout这两个方法,关于这两个方法的细节这里不详细讨论了,跟版网在这简要分享下在需要停止循环事件的时候该如何去操作。
 
(1)setInterval 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式,停止该方法可使用 clearInterval 方法。具体示例如下:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<input type="text" id="clock" size="50" />
<script language=javascript>
var int=self.setInterval("clock()",50);//每隔 50 毫秒调用 clock() 函数
function clock(){
	var t=new Date();
	document.getElementById("clock").value=t;
}
</script>
<button onclick="window.clearInterval(int)">停止 interval</button>
</body>
</html>

语法 clearInterval(id_of_setinterval)
 
参数 id_of_setinterval 表示由 setInterval() 返回的 ID 值。
 
clearInterval() 方法可取消由 setInterval() 设置的 timeout;clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。
 
(2)setTimeout 方法用于在指定的毫秒数后调用函数或计算表达式。停止该方法可使用 clearTimeout 方法。具体示例如下:
 
提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var c=0;
var t;
function timedCount(){
	document.getElementById('txt').value=c;
	c=c+1;
	t=setTimeout("timedCount()",1000);
}
function stopCount(){
	clearTimeout(t);
}
</script>
</head>
<body>
<input type="button" value="开始计数" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="停止计数" onClick="stopCount()">
</body>
</html>
clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。
 
语法 clearTimeout(id_of_settimeout)
 
参数 id_of_setinterval 表示由 setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

1、用正则表达式判断 input type=text id=name placeholder=请输入用户名 value= onblur=CheckChinese(name,this.value) class=form-control function CheckIsChinese(obj,val){ var reg = new RegExp([\\u4E00-\\u9FFF]+,g); if(reg.test(val)){alert(包含
Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: some.php, async: false}).responseText; 或者在全局设置Ajax属性 $.ajaxSetup({ async: false }); 再用post,get就是同步的了
其实并不难。 首先,在网页代码的头部,加入一行viewport元标签。 meta name=viewport content=width=device-width, initial-scale=1 / viewport的说明: viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-wi
1. 字符串比较 在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串。两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型;用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较。这样的话,如
我觉得最简单的就是:( 用这种最好,StrPos效率最高 ) strpos($a, $b) !== false 如果$a 中存在 $b,则为 true ,否则为 false。 用 !== false (或者 === false) 的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位
如何避免phpexcel导入excel到数据库中记录重复? 在用phpexcel导入excel到数据库时,先查询再插入。 $sql = select `id` from `table` where `field`=判断重复字段; $query = mysql_query($sql); $num = mysql_num_rows($query); if($num==0){ 这里是插入数