移动端弹出层会出现外层容器的滚动
首先滚动贯穿现象:当前容器已经滚动到底部或者顶部,无法再滚动,容器会默认选择上层可容器进行滚动,可以说滚动贯穿并非是一个bug,只是一种现象
1:场景一 弹出层无需滚动 body有滚动
js方法:在当前弹出层添加事件,组织当前弹出层的默认事件
css方法 html,body{height:100%;overflow:hidden;}
2,场景2 弹出层有滚动,body 这时候解决滚动贯穿就比较麻烦
具体做法:
首先监听当前弹出层的滚动,并且判断手势是朝上还是朝下
(1)如果弹出层滚动距离为0 并且手势朝下 那么阻止当前弹出层默认事件
(2)如果滚动距离已经到顶部 并且手势朝上 那么阻止当前弹出层默认事件
判断手势可以 注册touch事件 首先记录PageY
在move的时候判断pageY是大于刚才记录的pageY还是小于pageY
注意:一定要以最初的方向,朝上就永远朝上,朝下就永远朝下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。