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 相关文章推荐
Array的push与unshift方法性能比较分析
Mar 05 Javascript
JS对select控件option选项的增删改查示例代码
Oct 21 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
Dec 29 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
Feb 07 Javascript
ES6新特性之模块Module用法详解
Apr 01 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
小程序实现搜索框功能
Mar 26 Javascript
js实现烟花特效
Mar 02 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
第八节--访问方式
2006/11/16 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
Python下使用Psyco模块优化运行速度
2015/04/05 Python
tensorflow识别自己手写数字
2018/03/14 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Django 限制访问频率的思路详解
2019/12/24 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
共筑中国梦演讲稿
2014/04/23 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
和睦家庭事迹
2014/05/14 职场文书
人事任命书范文
2014/06/04 职场文书
广告业务员岗位职责
2015/02/13 职场文书
2019思想汇报范文
2019/05/21 职场文书
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript