Отменить все запущенные в настоящий момент RequestAnimationFrames - PullRequest
0 голосов
/ 12 сентября 2018

Я вызываю несколько requestAnimationFrames одновременно.Как бы я отменил все requestAnimationFrames так, чтобы ни один больше не работал?

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Вы можете позвонить requestAnimationFrame, сохранить возвращенный идентификатор, а затем вызвать cancelAnimationFrame для всех натуральных чисел, меньших этого числа.

function cancelAllAnimationFrames(){
   var id = window.requestAnimationFrame(function(){});
   while(id--){
     window.cancelAnimationFrame(id);
   }
}
0 голосов
/ 13 сентября 2018

window.requestAnimatioFrame(()=>{}) возвращает число, которое будет использоваться с window.cancelAnimationFrame(number).Итак, сохраните числа в массиве, а затем выполните итерацию по массиву, отменив числа.

Через MDN:

window.requestAnimatioFrame

window.cancelAnimationFrame

...