1.解决小程序遮罩层遮住页面后滚动穿透问题

Posted 爱吃鱼的宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.解决小程序遮罩层遮住页面后滚动穿透问题相关的知识,希望对你有一定的参考价值。

小程序遮罩层遮住页面后滚动穿透问题分为两种情况:
1.蒙层mask没有滚动事件的情况
可以在mask这个view上直接添加事件catchtouchmove="ture"来防止滚动或者写一个方法也可以
代码如下:

    <view class="mask" wx:if="{{showModelcontact}}" catchtouchmove="prevent"></view>
    <!-- js --> 
    prevent:function(){}

2.如果蒙层mask有滚动事件的情况
这种情况需要在主体内容view上加一个固定定位的class,这个class和mask同时显示同时消失
代码如下:

  <view class="mask" wx:if="{{showModelcontact}}"></view>
  <!-- 遮罩下面的页面内容 -->
  <view class="content  {{showModelcontact?'prevent':'  '}}"></view>
<!-- js -->
Page{
  //通过事件显示遮罩
 showMask:function(){
    var that = this;
    that.setData({
      showModelcontact: true
    })
  },
  //隐藏遮罩层
  hiddenMask:function(){
    var that = this;
    this.setData({
      showModelcontact: false
    })
  }
}
<!-- css -->
/* 设置内容的css prevent 且这内容层级(z-index)要比蒙层的低 */
  .prevent{
    position:   fixed ; 
    top: 0px ; 
    left:   0px ; 
    width:   100% ; 
    height:   100% ; 
    overflow:   hidden ; 
    z-index:   0 ; 
  }

这个遮罩滚动穿透问题这样解决,但是在开发工具上面还是可以滚动,手机实际预览就不会出现这个问题了
希望能帮到大家,也便于自己记录!!!
如有疑问可以下方评论留言哦~会积极回复大家的!!!

以上是关于1.解决小程序遮罩层遮住页面后滚动穿透问题的主要内容,如果未能解决你的问题,请参考以下文章

阻止小程序遮罩层下方图层滚动

弹出遮罩层后禁止滚动效果

点击按钮生成遮罩层后这个按钮被遮住还可以点击解决办法

小程序弹出层滚动穿透问题---史上最简单写法(附加解决方案)

uniapp 禁止滚动穿透(一般用于遮罩)-小程序/app/h5适用

移动端遮罩层滚动时,禁止底部滑动