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 相关文章推荐
input+select(multiple) 实现下拉框输入值
May 21 Javascript
jquery ui dialog实现弹窗特效的思路及代码
Aug 03 Javascript
jquery实现图片按比例缩放示例
Jul 01 Javascript
JS拖拽插件实现步骤
Aug 03 Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
通过javascript进行UTF-8编码的实现方法
Jun 27 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
Feb 14 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
vue-cli webpack配置文件分析
May 20 Javascript
layui自定义ajax左侧三级菜单
Jul 26 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
Python求解平方根的方法
2015/03/11 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python实现udp传输图片功能
2020/03/20 Python
Python垃圾回收机制三种实现方法
2020/04/27 Python
Python中实现输入一个整数的案例
2020/05/03 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
英文简历自荐信范文
2013/12/11 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2015教师节通讯稿
2015/07/20 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
在js中修改html body的样式
2021/11/11 Javascript
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL