CSS3动画与JS动画的优缺点?

JS动画:浏览器

  缺点:1.JS在浏览器的主线程中运行,而主线程还有其余的js脚本,样式布局,绘制任务等,对其干扰可能致使线程出现阻塞,从而形成丢帧的状况。函数

     2.JS动画代码复杂度高于CSS3动画。布局

  优势:1.JS动画控制能力很强,能够在动画播放过程当中对动画进行控制,使其开始或中止。优化

     2.动画效果比CSS3动画丰富,有些动画只有JS动画才能实现,好比曲线运动,冲击闪烁等。动画

     3.CSS3有兼容性问题,而JS大多时候没有兼容性问题。线程

 

CSS3动画:设计

  缺点:事件

     1.运行过程较弱,没法附加绑定回调函数,CSS3动画只能暂停,不能在动画中寻找一个特定的事件点,不能在半路反转动画,不能变换事件尺度,不能在特定的位置添加回调函数或是绑定回放事件,无进度报告。开发

     2.代码冗长。想用CSS3实现稍微复杂一点的动画,最后CSS代码都会变得特别笨重。回调函数

  优势:

     1.浏览器能够对动画进行优化。

 

结论:

  若是动画只是简单的状态切换,不须要中间过程控制,在这种状况下,CSS3动画是优先选择方案。它能够让你将动画逻辑放在样式文件里面,而不会让你的页面充斥JS库。然而若是你在设计很复杂的富客户端界面或者开发一个有着复杂UI状态的APP,那么你应该使用JS动画,这样你的动画能够保持高效,而且你的工做流也更可控。因此,在实现一些小的交互动效的时候,就多多考虑CSS3动画,对于一些复杂控制的动画,使用JS动画比较可靠。  

相关文章
相关标签/搜索