css3动画和js动画的比较

css实现动画:animation transition transform
js实现动画: setInterval setTimeout requestAnimationFrame

css动画:
优点:
1.集中所有DOM,一次重绘重排,刷新频率和浏览器刷新频率相同。
2.代码简单,方便调优
3.不可见元素不参与重排,节约cpu
4.可以使用硬件加速GPU(translateZ(0))
缺点:
1.对过程无法把控。无进度报告,无回调函数。
2.代码冗长。

JS动画:
优点:
1.效果炫酷。
2.过程控制。
缺点:
1.无法保证执行时间。timeout interval存在同步任务优先执行的问题。
2.最小粒度无法保证在16ms.

requestAnimationFrame的优点在于:
1.是浏览器针对动画提出的API。自动优化,页面不激活状态自动停止。
2.集中所有dom,一次重绘就完成,重绘事件跟随浏览器刷新频率。
3.隐藏或不可见元素,不进行重绘回流

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容