javascript定时器,取消定时器,及js定时器优化方法
2015-06-19 15:07
573 查看
通常用的方法:
启动定时器:
[javascript] view
plaincopy
window.setInterval(Method,Time)
Method是定时调用的js方法
Time是间隔时间,单位是毫秒
取消定时器:
[javascript] view
plaincopy
clearInterval(Method);
那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?
优化方案如下
[javascript] view
plaincopy
var timeout = false; //启动及关闭按钮
function time()
{
if(timeout) return;
Method();
setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒
}
总结
一般不用setInterval,而用setTimeout的延时递归来代替interval。
setInterval会产生回调堆积,特别是时间很短的时候。
启动定时器:
[javascript] view
plaincopy
window.setInterval(Method,Time)
Method是定时调用的js方法
Time是间隔时间,单位是毫秒
取消定时器:
[javascript] view
plaincopy
clearInterval(Method);
那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?
优化方案如下
[javascript] view
plaincopy
var timeout = false; //启动及关闭按钮
function time()
{
if(timeout) return;
Method();
setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒
}
总结
一般不用setInterval,而用setTimeout的延时递归来代替interval。
setInterval会产生回调堆积,特别是时间很短的时候。
相关文章推荐
- countup.js
- Javascript写了一个2048的游戏
- avalon中的模板绑定(ms-include)
- jsp会话监听
- javascript高级程序设计第5章,引用类型
- js如何定义全局变量
- 如何用js判断不同浏览器
- JSP中遍历显示从Action中接收到的list
- 二级联动下拉列表JS+html实现
- javascript获取当前时间
- 基于JavaScript离线编译工具环境搭建
- IE核心不支持JSON.parse方法
- Json学习笔记之Json的使用
- 解决JSONKIT isa错误
- a href=#与 a href=javascript:void(0) 的区别
- 使用grunt运行hintjs任务
- JS-slider.js实现鼠标拖动滑块控制取值特效
- javascript操作DOM的方法与属性
- 把 JSON 文本转换为 JavaScript 对象时可能出现的问题
- JavaScript 闭包