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 相关文章推荐
JS 类型转换常见方法小结
May 31 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
使用js获取图片原始尺寸
Dec 03 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
javascript获取系统当前时间的方法
Nov 19 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
js中Object.create实例用法详解
Oct 05 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 批量删除 sql语句
2009/06/05 PHP
浅析php工厂模式
2014/11/25 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
详解Python如何生成词云的方法
2018/06/01 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
好的演讲稿开场白
2013/12/30 职场文书
采购主管岗位职责
2014/02/01 职场文书
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
干部对照检查材料范文
2014/08/26 职场文书
会计人员演讲稿
2014/09/11 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
js判断两个数组相等的5种方法
2022/05/06 Javascript