我在PhoneGap / Cordova中构建了一个应用程序,并使用JQuery库来制作一些简单的动画,例如slideUp等。
它们在模拟器上运行良好但是当我尝试使用实际设备时,动画运行起来非常粗糙和缓慢。
有没有办法加快速度?或者我应该使用不同的过渡框架工作吗?
如果后者是真的,任何人都可以为我推荐一个好的版本试试吗?
由于
答案 0 :(得分:25)
jQuery动画是在动画的css属性上使用setInterval完成的,并且在移动设备上不是硬件加速。
在大多数现代设备上,CSS过渡 硬件加速,因此是更好的选择。库中有一些可以确保使用CSS过渡而不是昂贵的setInterval动画来完成jQuery动画。
http://playground.benbarnett.net/jquery-animate-enhanced/
http://ricostacruz.com/jquery.transit/
尝试一下。
如果您没有使用Zepto.js中缺少的任何功能,请考虑使用它,因为它比jQuery更小更轻,专为移动设备而设。
答案 1 :(得分:3)
您可以通过减少页面内容来加快流程,但这可能不是您所要求的。一个好的解决方案可能是使用css transitions。这样,旧浏览器不会显示动画,而应该在新设备上顺利运行。优雅地退化。