发现原生的 window.requestAnimationFrame
并不会管理队列。即在同一帧内屡次调用window.requestAnimationFrame
会致使下一次重绘时,重复动画。例如:git
const animationTwice = () => console.log('I will be invoked twice!') // 在同一帧内调用两次,致使 animationTwice 执行两次 window.requestAnimationFrame(animationTwice) window.requestAnimationFrame(animationTwice) // I will be invoked twice! // I will be invoked twice!
因此,写了 raf-plus 库来管理 window.requestAnimationFrame
保证在同一帧内最多只会执行一次相同的动画函数。github
若是你以为不错,欢迎☆ Star。你的支持是我持续开源的动力!函数