微信小程序 自定义弹框 遮罩

效果图

wxml

给需要点击的view增加事件

 

bindtap="goAlert"

 

<!-- 弹框 -->
 <view class='bg' wx:if="{{alert==1}}"> 
    <view class='bg-alert'>
        <view  wx:for="{{alertLlist}}"  data-index='{{index}}' class="{{selected==index?'show-alert':'hidden-alert'}}" bindtap='selected'>{{item}}</view>
    </view> 
</view>

wxss

/*弹窗  */
.bg{
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0rpx;
  left: 0rpx;
  background: rgba(0, 0, 0, 0.6)
}
.bg-alert{
  width:560rpx;
  height: 320rpx;
  background-color: #fff;
  border-radius: 20rpx;
  margin: 320rpx auto;
}
.gb-txt{
  height: 106rpx;
  border-bottom: 2rpx solid #d2d3d5;
  text-align: center;
  line-height: 106rpx;
}
.show-alert{
  color: #14a1fd;
  height: 106rpx;
  border-bottom: 2rpx solid #d2d3d5;
  text-align: center;
  line-height: 106rpx;
}
.hidden-alert{
  color: #999;
  height: 106rpx;
  border-bottom: 2rpx solid #d2d3d5;
  text-align: center;
  line-height: 106rpx;
}

js

Page({

/**
* 页面的初始数据
*/
data: {
alert: 0,
alertLlist: ['选项A', '选项B','选项C'],
selected: 0,
index:0
},
  selected: function (e) {
    // console.log(e)
    let that = this
    let index = e.currentTarget.dataset.index
    // console.log(index)
    if (index == 0) {
        that.setData({
          selected: 0,
            alert: 0
        })
    } else if (index == 1) {
      that.setData({
        selected: 1,
        alert: 0
      })
    } else{
      that.setData({
        selected: 2,
        alert: 0
      })
    }
  },
  goAlert :function (){
    let that = this
    that.setData({
      alert:1
    })
  },

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值