当前位置:   article > 正文

微信小程序自定义弹窗功能实现_微信小程序 自定义弹窗

微信小程序 自定义弹窗

wxss:

  1. .pop {
  2. position: fixed;
  3. top: 0;
  4. right: 0;
  5. bottom: 0;
  6. left: 0;
  7. z-index: 1100;
  8. opacity: 0;
  9. background: rgba(10, 10, 10, 0.6);
  10. pointer-events: none;
  11. display: flex;
  12. justify-content: flex-end;
  13. }
  14. .show {
  15. opacity: 1;
  16. pointer-events: auto;
  17. }
  18. .panel {
  19. background-color: #f8f8f8;
  20. border-radius: 10rpx;
  21. flex-basis: 60%
  22. }

z-index: 1100;可以理解为在原页面上新建了一个图层,

position: fixed; top: 0; right: 0; bottom: 0; left: 0;表示这个新的图层在页面上的位置,这里设置为铺满整个页面,

opacity表示不透明度,为0时显示不出来,大于0就可以显示出来

background表示背景颜色

display: flex;justify-content: flex-end;表示右对齐

pointer-events: none;表示新的图层的任何点击事件失效,

flex-basis 指定了 flex 元素在主轴方向上的初始大小

pop类可以理解为在原页面上又覆盖了一层页面,但这个页面是看不到也不能点击

js:

  1. showModal() {
  2. this.setData({
  3. show:true
  4. })
  5. },
  6. hideModal() {
  7. this.setData({
  8. show:false
  9. })
  10. },

调用 showModal函数打开弹窗,调用hideModal函数关闭弹窗

 wxml

  1. <view class="pop {{show==true?'show':''}}" bindtap="hideModal">
  2. <view class="panel" catchtap ></view>
  3. </view>
  4. <button bindtap="showModal">弹窗</button>

 在页面上创建一个按钮,点击触发弹窗函数,点击黑色区域关闭弹窗;

最终效果:

catchtap表示当前元素内的点击操作不会影响其他元素,即在白色区域内点击不会触发hideModal函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/88296
推荐阅读
相关标签
  

闽ICP备14008679号