要取消对的调用requestAnimationFrame,您需要从上次调用时返回的ID。这是您用于的参数cancelAnimationFrame。下面的示例启动一些假设的动画,然后在一秒钟后将其暂停。
// 存储从每次对requestAnimationFrame的调用返回的id var requestId; // 画点东西 function draw(timestamp) { // 做一些动画 // 请求下一帧 start(); } // 暂停动画 function pause() { // 传递上一次对requestAnimationFrame的调用返回的ID cancelAnimationFrame(requestId); } // 开始动画 function start() { // 存储从requestAnimationFrame返回的ID requestId = requestAnimationFrame(draw); } // 现在开始 start(); // 一秒钟后,暂停动画 setTimeout(pause,1000);