微插件推荐系列:面向对象风格的定时器

PHPABC JavaScript 715 次浏览 , 没有评论

概述

由于原生的settimeoutsetInterval使用不慎,可能会造成全局污染,而且不太容易管理和维护,生命周期也不太容器追踪。所以以面向对象的风格封装定时器还是不错的一个方法,这样我们只要管理定时器这个管理的对象就可以了,代码也变的香港简洁和容易维护了。

使用方法介绍

创建一个定时器对象

var timer = new Timer(function() {     alert('This message was sent by a timer.'); });  timer.set({ time : 5000, autostart : true }); 

初始化操作

timer.set(options); 

启动定时器,让其继续执行.

timer.play(reset);   

该函数的作用是暂停定时器

timer.pause(); 

停止定时器.所有参数恢复到初始化状态.

timer.stop();   

提供一个开关,用来控制定时器的执行和停止

timer.toggle(reset);   

只执行一次定时器

timer.once(time);   

判断定时器的当前状态,即是否被激活

timer.isActive  

暂停后,到执行下一个定时器所剩下的时间.

timer.remaining // Remaining time when paused 

源码地址:

基于jQuery的:https://github.com/jchavannes/jquery-timer
无框架依赖的:https://github.com/hehongwei44/Timer (基于上面的源码进行修改,去掉了依赖,代码进行了优化,如果喜欢的话,就star一下吧)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go