区别:
JS动画 | CSS动画 | |
优点 | 1、控制能力强,可以实现开始,暂停,终止等行为 2、可实现的动画效果丰富 3、无兼容性问题 | 1、性对JS动画更流畅 2、性能较好,浏览器会对CSS动画做一些优化 3、代码相对简单 |
缺点 | 1、JS在浏览器的主线程中运行,线程可能会出现阻塞状态,导致丢帧 2、代码复杂度高 | 1、在动画的控制上不够灵活(不能添加事件绑定回调函数) 2、只能实现简单动画,不能实现复杂逻辑的动画 3、代码冗长 4、兼容性不好 |
结论
若只是实现简单的状态切换,或交互效果,不需要中间过程控制,首选CSS动画
若实现复杂控制动画,选择JS动画更好