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 添加/移除CSS类实现代码
Feb 11 Javascript
juqery 学习之四 筛选查找
Nov 30 Javascript
VUEJS实战之修复错误并且美化时间(2)
Jun 13 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
jquery实现网页定位导航
Aug 23 Javascript
vue中动态设置meta标签和title标签的方法
Jul 11 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
Jul 26 Javascript
JavaScript实现多球运动效果
Sep 07 Javascript
vue实现移动端返回顶部
Oct 12 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代码DOS造成用光网络带宽
2011/03/01 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php下载文件的代码示例
2012/06/29 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
详解Python发送邮件实例
2016/01/10 Python
import的本质解析
2017/10/30 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
公司节能减排方案
2014/05/16 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
档案工作个人总结
2015/03/03 职场文书
2015年前台文员工作总结
2015/05/18 职场文书