微信小程序设置打开弹出层后,让下层页面不可滑动 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序设置打开弹出层后,让下层页面不可滑动

发表时间:2021-1-4

发布人:葵宇科技

浏览次数:104

这个问题在很多时候都会用到,比如在调用自定义弹窗、加载动画的时候,需要让页面不可以滑动,等等。

其实这个问题很简单,直接看代码:

<!-- index.wxml -->
<view class="mask" catchtouchmove="stopTouch" bindtap="hidePop" wx:if="{{mask}}"></view>
<view class="pop" catchtouchmove="stopTouch" wx:if="{{mask}}">
  <view>这是弹出层--1</view>
  <view>这是弹出层--2</view>
  <view>这是弹出层--3</view>
</view>
<view class="btn" bindtap="showPop">按钮</view>
复制代码
// index.js
Page({
  data: {
  	mask:false,
  },
  stopTouch() {},
  showPop() {
    this.setData({
      mask: true
    })
  },
  hidePop() {
    this.setData({
      mask: false
    })
  }
})
复制代码
/* index.wxss */
.mask, .pop, .btn {
  position: fixed;
  bottom: 0;
  left: 0;
}

.mask {
  width: 100%;
  height: 100%;
  z-index: 997;
  background-color: #858585b6;
}
.pop {
  height: 200px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #fff;
  z-index: 998;
}
.btn {
  width: 100%;
  height: 50px;
  color: aliceblue;
  text-align: center;
  line-height: 50px;
  background-color: #4df547;
}
复制代码

我们的弹出层的层级肯定是很高的,弹出层出现后,我们再点击、滑动的时候,点击的节点肯定是弹出层的节点,如果我们再弹出层以及遮罩层(如果有的话)绑定一个catchtouchmove事件,这样,在滑动的时候就无法滑动页面了



作者:一剑落笙歌
来源:掘金

相关案例查看更多