这个不顺畅是由于jq太大了么,如果自己写原生动画是不是会好很多,在ios的微信上看就挺流畅的
我也用过jqm,animate的性能的确不尽如人意,我也试过手写,实际效果跟jqm的差不多,估计jqm的性能也不差,卡顿的原因估计是安卓手机浏览器性能差点吧,同样的页面我在电脑相当顺畅。另外根据 @浅黑色 的说法,你可以去试试,我知道css3有一个-webkit-transition的属性,我提供思路了,你自行动手吧。
亲测不开启手机GPU加速的情况下,用jquery的animate (js原理)写的动画,在苹果手机上流畅,在安卓手机上卡死(用的小米mix),原因可能是js做动画不开启GPU就是不流畅,而苹果默认是开启的,安卓不开启,或者苹果芯片确实强大,所以安卓机需要在css里加以些代码触发GUP开启translateZ 这样的,实测开启GPU后安卓和苹果流畅多相当,苹果要流畅一些。估计Zepto用的是css3的transition做的动画,估计不会像js做的动画那么的卡,所以说Zepto在手机端的性能是优于jQuery的。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
jquery
的话,如果1
的版本,是通过不断改变下拉的高度来实现的展开的,所以在android
上很不流畅,其实在IOS也不会很流畅的,这是桌面版和手机性能的关系。zepto
是利用css3
来实现的,所以在IOS
和android
上都是蛮流畅的。所以,移动端最好不要用jquery
去实现动画。另外,同样的动画效果在ios上就是要比android
流畅的,具体可以看看这个为什么 iOS 和 Android 在图形性能方面的差别那么大呢?