说明
window下的一个内置API
就是在用这个可以一直重绘动画,然后让人看起来是个动画,重绘的这个过程是个很频繁的操作,所以如果我们自己写,不加以干涉,在性能和资源上会造成严重的浪费,所以我们可以使用requestAnimationFrame来使用我们的动画看起来很流畅,又不会频繁调用
window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行
优点
- 目标是60fps(16毫秒的一帧),浏览器将决定如何安排渲染的最佳时间。
- 相对简单和标准的API,未来不会改变,减少维护成本。
缺点
- rAF是内部api,所以我们并不方便修改
- 如果浏览器选项卡没有激活,就用不了
- 兼容性不好,在IE9,Opera Mini和旧Android中仍然不支持
- node中不能使用