2014-11-23 175 views
6

我几乎总是使用JQuery动画来处理任何Web项目,但我想知道CSS动画是如何不同的。我知道语法不同(很明显),但CSS动画具有的一些功能是JQuery不具备的功能,反之亦然。每个的优缺点是什么?是否有更好的功能?每种效率如何?CSS动画与JQuery动画

回答

7

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动画存储在JavaScript中的JavaScript库。或者你可以选择一个只有JavaScript的动画库,比如GreenSock。无论哪种方式,我建议在JavaScript中存储动画以便工作流程和简化理解。

2

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

下面是从Opera浏览器的开发者的主题有趣的讯息:https://dev.opera.com/articles/css3-vs-jquery-animations/