【问题标题】:PhoneGap/Cordova: JQuery animations running slowPhoneGap/Cordova:JQuery 动画运行缓慢
【发布时间】:2012-06-21 23:05:21
【问题描述】:

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

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

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

如果后者是真的,谁能推荐一个好的版本让我试试?

谢谢

【问题讨论】:

  • 您使用的是哪个操作系统?
  • 我用 4 和 5 测试过——虽然 5 稍微快一点,但两者都是一样的

标签: jquery cordova slide


【解决方案1】:

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

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

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

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

试试这些。

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

【讨论】:

  • 啊,太好了!不知道这些 css 转换
  • 与常规 jquery 相比,这些似乎对我的应用程序没有任何影响。有什么理由吗?
  • animate-enhance 让我的滑动过渡非常流畅!
  • 感谢您提供的非常有用的提示!
  • 对我来说 jquery.transit 确实让我的生活更美好。有时我仍然有这样的效果,即 en 元素左侧或右侧的动画在移动设备上走得太远了。不总是但有时。但它不再像以前那样频繁了。谢谢你。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多