raf-interval 是基于 window.requestAnimationFrame() 封装的定时器。git
window.requestAnimationFrame() 方法告诉浏览器您但愿执行动画,并请求浏览器调用指定的函数在下一次重绘以前更新动画。该方法将在重绘以前调用的回调做为参数。因此github
若是您想在下一个重绘时为另外一个框架设置动画,您的回调例程必须调用 requestAnimationFrame()。
若是你想作逐帧动画的时候,你应该用这个方法。这就要求你的动画函数执行会先于浏览器重绘动做。一般来讲,被调用的频率是每秒60次,可是通常会遵循W3C标准规定的频率。若是是后台标签页面,重绘频率则会大大下降。npm
经过 raf-interval 咱们能够把抽象的对象的自身的循环逻辑经过 setRafInterval 书写在自身的代码里,可是却执行在惟一的 ticker,这样逻辑不会被拆得支离破碎,更好维护方便扩展。api
和setInterval 和 clearInterval 用法一致!超级简便浏览器
没有 raf-interval 以前:框架
var i = 0 var interval = setInterval(function() { console.log(i++) if (i > 6) { clearInterval(interval) } },1000)
有了 raf-interval 以后:函数
var i = 0 var rafInterval = setRafInterval(function() { console.log(i++) if (i > 6) { clearRafInterval(rafInterval) } },1000)
$ npm install raf-interval
或者从 CDN 拉取:性能
This content is released under the MIT License.动画