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学习笔记2 函数
Jan 11 Javascript
jQuery中Ajax的get、post等方法详解
Jan 20 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
Aug 31 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
Linux CentOS系统下安装node.js与express的方法
Apr 01 Javascript
详解微信小程序Radio选中样式切换
Jul 06 Javascript
react中fetch之cors跨域请求的实现方法
Mar 14 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
Oct 10 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 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 简单数组排序实现代码
2009/08/05 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
深入浅出学习python装饰器
2017/09/29 Python
Django 使用logging打印日志的实例
2018/04/28 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
元旦晚会邀请函
2014/01/27 职场文书
起诉意见书范文
2015/05/19 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
浅谈JS的原型和原型链
2021/06/04 Javascript