移动端的H5页面长列表的滚动用原声的滚动行么?
前置:
- 安卓端的h5页面
- 长列表滚动
两个问题:
1.移动端的长列表滚动直接像浏览器一样用原生/默认的滚动不行么?
2.为什么有的h5页面非要用iscroll
这样的js插件来实现呢?
这里只限定滚动(不考虑滚动加载之类的效果)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我就按照提问来回答吧。
-webkit-overflow-scrolling: touch
就可以了,它的作用是原生加速,而且效果还很不错(基本上4.4以上效果非常好)iscroll
这样的js插件,很多时候用iscroll之类的是为了统一体验(如其它回答中提到的),譬如a页面支持滚动,b页面支持下拉刷新等,这样引用一个库后体验都是相同的。但是,实际上这类库的实现原理都是transition动画,论纯滚动体验,不一定比得上原生滚动(原生滚动采用了加速后效果一级棒)
另外,就算是下拉刷新这种插件,也不一定都是基于iscroll这类滚动原理的,譬如我就写过一个下拉刷新插件,基于原生滚动,可以参考 minirefresh-优雅的H5 下拉刷新
最后说一句,就实现方案来说,并不只一种,但实际上考虑产品体验,不同的需求等等因素,需要自行抉择采用哪一种方案!
因为在移动端有些机型或者浏览器不能实时监听滚动事件,只有当滚动停止时才会返回。
如果页面没有需要监听滚动事件的其实可以不用。
当然类似
iscroll
或者better-scroll
类的库不单单只有页滚动功能。从产品角度讲,用插件主要是实现功能和表现的一致性/减少产品周期以及避免重复踩坑。滚动这个功能点的坑列位已经说了,从插件上来讲,better-scroll没用过不好说,选择iscroll的理由主要是案例多牌子老,另外就是段落滚动功能和滚动条挺好看的。我之前用主要是在官网上,因为功能和产品契合度高些另外就是做了自适应,纯H5的话我觉得用它感觉上有点重,如果不是功能点需要的话确实可以换别的,比如我前两天刚用过腾讯的AlloyTouch(虽然引俩文件感觉挺奇怪,但文件确实挺小的)。当然能自己写的话就最好了ヾ(´∀`)ノ
之前也用过插件,但是感觉有点坑,所以就没有用,不过滚动会比较生硬