功能
requestAnimationFram
e 是一种优化动画渲染的 API。- 它告诉浏览器在下一次重绘之前执行指定的回调函数,通常用于实现流畅的动画。
- 和固定时间间隔的
setTimeout
或setInterval
不同,requestAnimationFrame
会自动与浏览器的刷新率同步(如 60Hz,16.67ms 一帧)。
特点
高效:只在页面处于活动状态时执行回调(后台标签页会暂停,节省资源)。
精准:与显示器的刷新率匹配,避免丢帧。
流畅:浏览器会在合适的时间点调用回调,减少卡顿或跳帧现象。
常见场景
实现 DOM 动画
平滑滚动效果
监控动画帧性能