1,css3的 animation+keyframes
2, css3的transition
3,canvas作图
4,jQuery动画
5,setTimeout() 或 setInterval()
6,window.requestAnimationFrame(callback)
window.requestAnimationFrame()将告知浏览器你马上要开始动画效果了,后者需要
在下次动画前调用相应的方法来更新画面。这个方法就是传递给window.requestAnimationFrame()
的回调函数
这个方法原理其实也就跟setTimeout/setInterval差不多,通过递归调用同一方法来不断
更新画面,以达到动起来的效果,但它由于setTImeout/setInterval 的地方在于它是由浏览器专门
为动画提供的API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的话,
动画会自动暂停,有效节省了CPU开销
返回值
返回一个ID值,window.cancelAnimationFrame(id)可以取消该次动画