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 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 Javascript
Prototype源码浅析 Enumerable部分(二)
Jan 18 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
js判断子窗体是否关闭的方法
Aug 11 Javascript
深入浅析Bootstrap列表组组件
May 03 Javascript
jQuery实现的手风琴侧边菜单效果
Mar 29 jQuery
Vue手把手教你撸一个 beforeEnter 钩子函数
Apr 24 Javascript
express+vue+mongodb+session 实现注册登录功能
Dec 06 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
php开启openssl的方法
2014/05/15 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
完善的jquery处理机制
2016/02/21 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
TensorFlow变量管理详解
2018/03/10 Python
python3中eval函数用法使用简介
2019/08/02 Python
python3.7调试的实例方法
2020/07/21 Python
python pymysql库的常用操作
2020/10/16 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
企业指导教师评语
2014/04/28 职场文书
员工安全承诺书
2014/05/22 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
检讨书范文2000字
2015/01/28 职场文书
辛亥革命观后感
2015/06/02 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技