mescroll.js下拉刷新使用时应该注意的问题(卡顿情况,有时候会拉不动)

在iOS的微信,QQ,Safari等浏览器, 列表顶部下拉和底部上拉露出浏览器灰色背景, 卡顿2秒 ?

这个问题只存在 iOS 浏览器; android,PC是正常的; 原因是 iOS 自身的回弹效果导致的, 解决方法如下:

1. mescroll.min.css 和 mescroll.min.js 更新到1.3.0 版本 (所有版本都向下兼容,放心升级, 可通过输出mescroll.version检查是否升级成功)

2. 配置 up 的 isBounce 为 false, 禁止ios的回弹效果即可

注意: 配置 up 的 isBounce 为 false 之后, 会禁止window的touchmove 事件,从而阻止 iOS 的回弹效果.
此时除了 mescroll的div 可以滑动,其他的区域匀无法滑动;
如果你希望 mescroll之外的某个div 可以滑动,则可为这个div加入mescroll-touch的样式即可;

比如你希望顶部导航菜单 class="nav-top"的div 可接收touchmove事件, 则class="nav-top mescroll-touch"
如果添加mescroll-touch-x 则可水平滑动 ; 如果添加mescroll-touch-y 则可上下滑动

提示1: body为滚动区域,不支持配置isBounce,所以上下拉仍会露出浏览器灰色背景,但不会卡顿2秒.
提示2: 在1.2.5版本是通过嵌套mescroll-bounce的div解决,过于复杂且未彻底修复; 升级到1.3.0版本之后这个div将弃用,您可删去
提示3: 您可以通过调用mescroll.setBounce(true)允许iOS回弹,相当于配置up的isBounce为true
提示4: 您可以通过调用mescroll.setBounce(false)阻止iOS回弹,相当于配置up的isBounce为false
提示5: 您还有其他问题 建议看看 issues80issues

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容