官网: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: 您还有其他问题 建议看看 issues80 或 issues。
3. 解决滑不动必杀技
配置 isBounce 为 true。
3. 解决滑不动必杀技
配置 isBounce 为 true。