requestAnimationFrame 这个需要记录下,不然每次都要反应半天。
运用思路:自递归
用法1:
不需要控制器来控制动画的结束
const animate = () = > {
// Do whatever
requestAnimationFrame( animate );
// Do something animate
}
requestAnimationFrame( animate ); // start
用法2:
需要控制什么时候结束动画的时候需要设置一个句柄,控制器。
let animateControl = null;
const animate = () => {
// Do whatever
animateControl = requestAnimationFrame(animate);
// Do something animate
}
// start
animateControl = requestAnimationFrame( animate );
// stop
cancelAnimationFrame( animateControl );