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

时间:2018-09-11 23:49:25

标签: javascript requestanimationframe

我同时调用了许多requestAnimationFrames。我该如何取消所有requestAnimationFrames,以使它们不再运行?

2 个答案:

答案 0 :(得分:2)

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

通过MDN:

window.requestAnimatioFrame

window.cancelAnimationFrame

答案 1 :(得分:1)

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

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