JS中使用requestAnimationFrame时,怎么避免重复触发
时间: 2023-05-19 15:05:23 浏览: 142
使用requestAnimationFrame实现js动画性能好
可以使用一个变量来记录上一次触发requestAnimationFrame的时间戳,然后在每次触发时与当前时间戳进行比较,如果时间间隔小于一定值,就不执行回调函数,从而避免重复触发。以下是一个示例代码:
let lastTime = 0;
function animate(timestamp) {
if (timestamp - lastTime < 16) { // 16ms约等于每秒60帧
requestAnimationFrame(animate);
return;
}
// 执行动画逻辑
lastTime = timestamp;
requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
阅读全文