CSS动画与JQuery动画

时间:2014-11-23 21:33:19

标签: jquery css animation

我几乎总是在我工作的任何Web项目中使用JQuery动画,但我想知道CSS动画是如何不同的。我知道语法是不同的(显然),但CSS动画有哪些功能,JQuery没有,反之亦然。各自的优点和缺点是什么?一个人有更好的功能吗?每个效率如何?

2 个答案:

答案 0 :(得分:8)

CSS3动画性能与JavaScript竞争,但不一定优越。    此页面允许您测试多种浏览器动画技术并查看实际差异。

https://greensock.com/js/speed.html

CSS3动画在一个单独的线程中运行,而不是JavaScript,因此它非常无阻塞。    因此,如果您的应用程序有一些负载,CSS3最好。

http://www.phpied.com/css-animations-off-the-ui-thread/

CSS3动画也经常是硬件加速(动画在GPU上运行而不是CPU提升性能)。但许多JavaScript动画工具也是如此。

这基本上是技术上的。明智的编码风格,他们也有一些很大的差异。 CSS3动画的触发通常是通过从JavaScript添加和删除dom类来实现的。因此,组件的行为最终会生成2个文件和2种语言。这一切都可以解决,但它可以使代码更难以推理。

因此,如果你选择使用CSS3动画,我建议不要在css中这样做,而是使用一个JavaScript库,让你可以在CSS中存储你的CSS3动画。或者您可以选择仅限JavaScript的动画库,如GreenSock。无论哪种方式,我建议在JavaScript中存储动画,以实现工作流程和简化理解。

答案 1 :(得分:3)

我认为主要的专业是CSS动画是原生的。这意味着他们将在浏览器中调用已编译的代码,并可能使用任何可用的硬件加速。这意味着CSS3动画将更快并且使用更少的内存。

以下是Opera浏览器开发人员关于此主题的有趣帖子:https://dev.opera.com/articles/css3-vs-jquery-animations/