之前在微信小程序开发时就遇到了这样的问题:弹框出现之后,上下滑动时,弹框下面的内容还可以滚动,这个bug就叫蒙层滚动穿透!!!
【已解决】小程序端弹框出现后页面蒙层/滚动穿透问题!-QUI-Notes

在HTML5的移动端可以动态将body宽高都写成100%,之前总结过《JS实现:页面弹框层出现时,禁止底部内容可以滑动》,弹框关闭之后移除样式。

【已解决】小程序端弹框出现后页面蒙层/滚动穿透问题!-QUI-Notes

小程序确实也是可以这样,通过一个参数控制,上下滑动时触发弹框最外层事件catchtouchmove,动态给页面最外面的view添加class。不过,有点麻烦了,其实发现了上下滑动事件catchtouchmove,直接给个空事件,阻止了就可以了!

<view class="qui-boom" wx:if="{{openFlag}}" bindtap="closeUserModle" catchtouchmove="stop">
<view class="qui-boom-bottom login-modle" catchtap="stop">
<!-- 弹框内容 -->
</view>
</view>

//js事件

stop:function(){ //阻止弹框冒泡和捕获事件,不要删除!!!
},

效果:

【已解决】小程序端弹框出现后页面蒙层/滚动穿透问题!-QUI-Notes

搞定 ,不需要再添加什么class了,哈哈!

上班天天搬砖,抽时间摸鱼写篇废话,头大了一圈,不知道接下来还有什么坑!过年后好多朋友都离职在找工作,不能浮躁,继续深造,我还是一个不会耍js对象|原型链|闭包的小菜鸟,加油!