發現原生的 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。你的支持是我持續開源的動力!函數