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 各种浏览器下获得日期区别
Dec 22 Javascript
在新窗口打开超链接的方法小结
Apr 14 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 Javascript
关于Vue Webpack2单元测试示例详解
Aug 14 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
Vue验证码60秒倒计时功能简单实例代码
Jun 22 Javascript
详解Angular6 热加载配置方案
Aug 18 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 Javascript
Vue 自定义指令功能完整实例
Sep 17 Javascript
微信小程序实现首页弹出广告
Dec 03 Javascript
ant design charts 获取后端接口数据展示
May 25 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伪静态之APACHE篇
2014/06/02 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
接收键盘指令的脚本
2006/06/26 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
分享jQuery插件的学习笔记
2016/01/14 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
python内存管理分析
2015/04/08 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
使用Python更换外网IP的方法
2018/07/09 Python
python 正确保留多位小数的实例
2018/07/16 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
游戏商店:Eneba
2020/04/25 全球购物
一篇.NET面试题
2014/09/29 面试题
初中考试作弊检讨书
2014/02/01 职场文书
婚内分居协议书范文
2014/11/26 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
居住证明范文
2015/06/17 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis