取消所有当前正在运行的RequestAnimationFrame

问题描述 投票:1回答:2

我同时调用了许多requestAnimationFrames。我如何取消所有的requestAnimationFrames,使其不再运行?

javascript requestanimationframe
2个回答
1
投票

您可以调用requestAnimationFrame,存储返回的id,然后调用cancelAnimationFrame以获取小于该数字的所有正整数。

function cancelAllAnimationFrames(){
   var id = window.requestAnimationFrame(function(){});
   while(id--){
     window.cancelAnimationFrame(id);
   }
}

2
投票

window.requestAnimatioFrame(()=>{})返回一个与window.cancelAnimationFrame(number)一起使用的数字。因此,将数字存储在一个数组中,然后迭代数组取消数字。

通过MDN:

window.requestAnimatioFrame

window.cancelAnimationFrame

© www.soinside.com 2019 - 2024. All rights reserved.