验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

requestAnimationFrame如何使用

阅读:994 来源:乙速云 作者:代码code

requestAnimationFrame如何使用

      requestAnimationFrame--use是什么

      告诉浏览器用来执行一个动画,并且在下一次重绘之前调用其指定的回调函数取更新动画,所以该方法的参数就是一个回调函数,在下一次重绘时候调用。

      回调函数

      回调函数即是传入的callback,执行后其传入的参数为DOMhighResTimeStamp,表示当前回调函数执行时时间戳,单位毫秒。

      调用频率

      其回调函数执行次数为每秒60次,为啥是这个呢,因为在大多数浏览器种,这个频率大多都跟屏幕帧数刷新频率保持一致,即在高刷新的屏幕中会执行的更快。

      返回啥

      返回的是一个非零整数值,作为唯一标识,传给window.cancelAnimationFrame(),可用来清除取消回调函数。

      如何用window.requestAnimationFrame(callback);

      示例

      requestAnimationFrame如何使用

      可以看到浏览器在一直打印,这也就是类似动画的持续过程,一秒钟会输出60次。

      那怎样让其停止,除了使用window.cancelAnimationFrame();官方指出了为了提高性能和电池寿命,当requestAnimationFrame()运行在后台标签页或者隐藏的iframe里,就会被暂停调用以提升性能。

      多个运行情况

      当一个页面有多个requestAnimationFrame时,运行情况又是怎样的呢

      requestAnimationFrame如何使用

      执行调试输出内容为

      requestAnimationFrame如何使用

      可以看出再同一毫秒时刻,两个方法会同步执行,可见并不存在先后的情况,其每次执行隔间时间戳近似等于 1000 / 60 = 16.666毫秒,这就意味页面加载一次,会一次性执行所有的requestAnimationFrame。

      停止执行

      cancelAnimationFrame

      requestAnimationFrame如何使用

      动画运用

      requestAnimationFrame如何使用

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>