JS数据驱动的定时器开关(可暂停)

JavaScript014

JS数据驱动的定时器开关(可暂停),第1张

原本我们若想将一个定时器暂停或清除,我们通常会用clearInterval()的方法。我们在setInterval时存储这个Interval的id,之后再需要暂停时通过id查找并清除该定时器(甚至需要记录请出时变化的数据),等到需要定时器继续运转我们就setInterval()在创建一次。

本次在大量使用定时器的过程中,为了优化繁琐的操作,我给定时器内部回调函数添加了数据驱动, 每个操作对应 一个常驻定时器 只在页面初始化时创建一次定时器,后续不再重新创建或释放

接下来我会举几个本次做的例子:

如果我们用传统释放定时器的方式,那么释放时我们还需记录运行时间,当前状态等。重新创建我们还需要把记录的值传递进去,不甚繁琐。

以上两个例子就是本次思想的精髓, 之后准备二次封装一个新的定时器,敬请期待

做完了: 数据驱动二次封装定时器工具类

球球你们看完点个赞吧。

你用的是什么计时器?

setTimeout("function",time) 还是 setInterval("function",time)

参数是一样的,function是方法名,time是执行间隔的毫秒数

这2个都是计时用的

SetInterval会重复执行,setTimeout不会重复只执行一次。

如果要停止需要执行clearTimeout(对象) 清除已设置的setTimeout对象,clearInterval(对象) 清除已设置的setInterval对象。

用法大概如下:

var objTimout=window.setTimeout(function,5000)//5000毫秒=5秒,5秒后执行function方法,然后退出

window.clearTimeout(objTimout)//清除setTimeout设置的时间

或者

var objInterval=window.setInterval(function,5000)//每5秒执行一次function方法

window.clearInterval(objInterval)//清除setInterval对象设置的时间

希望能帮到你!