用jquery的animate写的下拉展开在安卓上不顺畅,用zepto会顺畅么
这个不顺畅是由于jq太大了么,如果自己写原生动画是不是会好很多,在ios的微信上看就挺流畅的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这个不顺畅是由于jq太大了么,如果自己写原生动画是不是会好很多,在ios的微信上看就挺流畅的
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
jquery
的话,如果1
的版本,是通过不断改变下拉的高度来实现的展开的,所以在android
上很不流畅,其实在IOS也不会很流畅的,这是桌面版和手机性能的关系。zepto
是利用css3
来实现的,所以在IOS
和android
上都是蛮流畅的。所以,移动端最好不要用jquery
去实现动画。另外,同样的动画效果在ios上就是要比android
流畅的,具体可以看看这个为什么 iOS 和 Android 在图形性能方面的差别那么大呢?没啥区别的 这俩~
有没有触发硬件加速呢?
可以用css3
我也用过jqm,animate的性能的确不尽如人意,我也试过手写,实际效果跟jqm的差不多,估计jqm的性能也不差,卡顿的原因估计是安卓手机浏览器性能差点吧,同样的页面我在电脑相当顺畅。另外根据 @浅黑色 的说法,你可以去试试,我知道css3有一个-webkit-transition的属性,我提供思路了,你自行动手吧。
animate的性能在移动端确实有很大问题,一个折中的方案是用
等3d变换css属性触发gpu加速去渲染页面。
亲测不开启手机GPU加速的情况下,用jquery的animate (js原理)写的动画,在苹果手机上流畅,在安卓手机上卡死(用的小米mix),原因可能是js做动画不开启GPU就是不流畅,而苹果默认是开启的,安卓不开启,或者苹果芯片确实强大,所以安卓机需要在css里加以些代码触发GUP开启translateZ 这样的,实测开启GPU后安卓和苹果流畅多相当,苹果要流畅一些。估计Zepto用的是css3的transition做的动画,估计不会像js做的动画那么的卡,所以说Zepto在手机端的性能是优于jQuery的。