在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
网友评论