CSS动画与JQuery动画

9

我几乎总是使用JQuery动画来进行我所从事的任何网络项目,但我想知道CSS动画有什么不同。我知道语法不同(显然),但CSS动画有哪些JQuery没有的特性,反之亦然。它们各自的优点和缺点是什么?它们的功能更好吗?每个的效率如何?

2个回答

12

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库将CSS3动画存储在JavaScript中。 或者您可以选择仅使用JavaScript的动画库,例如GreenSock。 无论哪种方式,我都建议在JavaScript中存储动画以获得工作流程和理解的简单性。


6
我认为CSS动画的主要优点是本地化。这意味着它们将在浏览器内调用编译代码,并可能利用任何可用的硬件加速。这意味着CSS3动画将更快,使用更少的内存。
这里有一篇关于这个主题的有趣文章,来自Opera浏览器的开发人员:https://dev.opera.com/articles/css3-vs-jquery-animations/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接