Отменить все запущенные в настоящий момент RequestAnimationFrames

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

1 ответ

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

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

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

Через MDN:

window.requestAnimatioFrame

window.cancelAnimationFrame

Другие вопросы по тегам