9

我在 PhoneGap/Cordova 中构建了一个应用程序,并将 JQuery 库用于一些简单的动画,如 slideUp 等。

它们在模拟器上运行良好,但是当我在实际设备上尝试时,动画运行起来非常笨拙且缓慢。

有没有办法加快这个速度?还是我应该使用不同的过渡框架?

如果后者是真的,任何人都可以建议一个好的版本让我尝试吗?

谢谢

4

2 回答 2

25

jQuery 动画是在被动画化的 css 属性上使用 setInterval 完成的,它在移动设备上不是硬件加速的。

CSS 过渡在大多数现代设备上都是硬件加速的,因此是更好的选择。有一些库可以确保您的 jQuery 动画是使用 CSS 过渡而不是昂贵的 setInterval 动画完成的。

http://playground.benbarnett.net/jquery-animate-enhanced/

http://ricostacruz.com/jquery.transit/

试试这些。

如果您没有使用Zepto.js中缺少的任何功能,请考虑使用它,因为它比 jQuery 更小更轻,并且专为移动设备设计。

于 2012-06-21T23:57:37.997 回答
3

您可以通过减少页面内容来加快此过程,但这可能不是您所要求的。一个好的解决方案可能是使用css transitions。这样,旧浏览器不会显示动画,而它应该可以在新设备上流畅运行。优雅地降级。

于 2012-06-21T23:45:40.627 回答