JavaScript定时器和优化的取消定时器方法


Posted in Javascript onJuly 03, 2015

通常用的方法:
启动定时器:

window.setInterval(Method,Time)   

Method是定时调用的js方法

Time是间隔时间,单位是毫秒
取消定时器:

clearInterval(Method); 

那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?
优化方案如下

var timeout = false; //启动及关闭按钮  

function time()  

{  

  if(timeout) return;  

  Method();  

  setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒  

} 

总结

一般不用setInterval,而用setTimeout的延时递归来代替interval。
setInterval会产生回调堆积,特别是时间很短的时候。 

Javascript 相关文章推荐
5秒后跳转到另一个页面的js代码
Oct 12 Javascript
javascript操作数组详解
Dec 17 Javascript
JavaScript的类型、值和变量小结
Jul 09 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
Jun 05 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
Feb 02 Javascript
javascript 设计模式之组合模式原理与应用详解
Apr 08 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
Jul 09 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 #Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 #Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 #Javascript
一张Web前端的思维导图分享
Jul 03 #Javascript
JavaScript中的对象与JSON
Jul 03 #Javascript
javascript生成大小写字母
Jul 03 #Javascript
jQuery切换所有复选框选中状态的方法
Jul 02 #Javascript
You might like
PHP 采集程序原理分析篇
2010/03/05 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
php反射应用示例
2014/02/25 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
vuex的使用步骤
2021/01/06 Vue.js
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
python difflib模块示例讲解
2017/09/13 Python
python3.x上post发送json数据
2018/03/04 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
中秋节主题班会
2015/08/14 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技