1.wxml

<view class="my-dialog" catchtouchmove="true">//catchtouchmove阻止冒泡,防止遮罩层底部滑动

  <view class="my-mask" bindtap="confirmDialog" hidden="{{!showDialog}}" ></view>
  <view class="my-container" animation="{{animatheightadd}}"></view>
</view>
 
2.wxss
.my-dialog {
  opacity: 1;
}

.my-dialog .my-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}

.my-dialog .my-container {
  position: fixed;
  width: 90%;
  padding: 30rpx 5%;
  bottom: 0;
  left: 0;
  background:#fff;
  overflow: hidden;
  z-index: 5000;
}
 
3.js
data:{
  animatheightadd:{},
  showDialog:false
}
onReady: function () {
      //定义动画
  this.animation = wx.createAnimation({
    duration: 1000,
    timingFunction: 'ease'
  })
  //先隐藏内容
  this.animation.translateY(331).step()
  this.setData({
    animatheightadd: this.animation.export()
  })
},
refuse:function(){
  //显示底部弹出层
  this.animation.translateY(0).step()
  this.setData({
    animatheightadd:this.animation.export()
  })
  this.setData({
    showDialog: true
  })
}
confirmDialog: function (e) {
  //隐藏底部
  this.setData({
    showDialog: false
  })
  this.animation.translateY(331).step()
  this.setData({
    animatheightadd:this.animation.export() //导出动画api , 页面执行动画
  });
},
 
 

相关文章:

  • 2021-12-10
  • 2021-10-22
  • 2021-06-14
  • 2021-12-06
  • 2022-01-21
  • 2021-07-05
  • 2021-07-16
  • 2021-10-06
猜你喜欢
  • 2021-12-10
  • 2021-12-10
  • 2021-04-19
  • 2021-08-01
  • 2021-05-15
  • 2022-12-23
  • 2021-04-08
相关资源
相似解决方案