react实现requestanimationframe
在 React 中,可以使用 `ReactDOM.findDOMNode()` 方法获取组件实例对应的 DOM 节点,然后使用 `questAnimationFrame()` 方法实现动画效果。
`questAnimationFrame()` 方法会告诉浏览器希望执行一个动画,并在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。
`questAnimationFrame()` 方法的执行时机是在每一帧浏览器进行渲染之前,属于高优任务。通常情况下,回调函数的执行次数为每秒60次,但在遵循 W3C 建议的浏览器中,回调函数的执行次数通常与浏览器屏幕刷新次数相匹配。
为了提高性能和电池寿命,当 `questAnimationFrame()` 运行在后台标签页或者隐藏的 `<iframe>` 中时,该方法会被暂停调用。也就是说,当我们切换浏览器的 tab 页面或浏览器窗口最小化以后,使用该方法模拟的动画会暂停,直到当前页面再次出现在屏幕的可视区域。
回调函数会被传入一个 `DOMHighResTimeStamp` 参数,该参数指示当前被 `quest
AnimationFrame()` 排序的回调函数被触发的时间。该时间戳是一个十进制数,单位为毫秒,最小精度为 1ms(1000μs)。通俗地说,该参数表示从当前页面渲染完成到当前函数执行时,已经过去了多少时间。每次渲染完成后,该参数的值都会增加,因为浏览器渲染完毕以后,时间总是在增加。当然,刷新页面以后该参数会被重置。iframe参数传递
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论