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 相关文章推荐
javascript 面向对象继承
Nov 26 Javascript
JavaScript学习笔记(十七)js 优化
Feb 04 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
详解JavaScript语法对{}处理的坑爹之处
Jun 05 Javascript
jQuery实现炫酷的鼠标轨迹特效
Feb 01 Javascript
jQuery ajax时间差导致的变量赋值问题分析
Jan 22 Javascript
Bootstrap如何创建表单
Oct 21 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 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动态图像的创建
2006/10/09 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
关于Javascript 的 prototype问题。
2007/01/03 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
Javascript学习指南
2014/12/01 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
跟老齐学Python之类的细节
2014/10/13 Python
介绍Python中的一些高级编程技巧
2015/04/02 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
简单了解python协程的相关知识
2019/08/31 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
司法局火灾防控方案
2014/06/05 职场文书
新闻传播专业求职信
2014/07/22 职场文书
公司管理制度范本
2015/08/03 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
对Golang中的FORM相关字段理解
2021/05/02 Golang