JavaScript中停止执行setInterval和setTimeout事件的方法


Posted in Javascript onMay 14, 2015

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 值。该值标识要取消的延迟执行代码块。

Javascript 相关文章推荐
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
Jun 03 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
Dec 14 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
Nov 04 Javascript
JS使用正则表达式除去字符串中重复字符的方法
Nov 05 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
Sep 04 Javascript
对于input 框限定输入值为浮点型的js代码
Sep 25 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
js实现滑动进度条效果
Aug 21 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 #Javascript
JS实现简洁、全兼容的拖动层实例
May 13 #Javascript
javascript实现图片跟随鼠标移动效果的方法
May 13 #Javascript
javascript鼠标滑动评分控件完整实例
May 13 #Javascript
javascript实现链接单选效果的方法
May 13 #Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
May 13 #Javascript
javascript实现table表格隔行变色的方法
May 13 #Javascript
You might like
PHP strtr() 函数使用说明
2008/11/21 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
php实现微信企业转账功能
2018/10/02 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
python db类用法说明
2020/07/07 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
平面设计自荐信
2013/10/07 职场文书
医学类导师推荐信范文
2013/11/19 职场文书
实习生个人的自我评价
2013/12/08 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
2014年班干部工作总结
2014/11/25 职场文书
工作年限证明范本
2015/06/15 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python