requestAnimationFrame 与setTimeout 大概一致,
requestAnimationFrame 每秒60帧 ,setTimeout与setInterval根据你自己的定义
requestAnimationFrame 可以准时执行每一帧。setTimeout与setInterval会在上一帧动画执行完才会执行下一帧
requestAnimationFrame 兼容性不是很好
cancelAnimationFrame 基本相当于clearTimeout(),清除上是一样的,其机制不一样
const box = document.getElementsByClassName('box')[0];let timer = null;function move() {if (box.offsetLeft > 700) {cancelAnimationFrame(timer);return;}box.style.left = box.offsetLeft + 20 + 'px';timer = requestAnimationFrame(move)}move()
