这篇文章将为大家详细讲解有关微信小程序中怎么自定义对话框弹出,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
index.js
//index.js
var app = getApp();
let animationShowHeight = 300;
Page({
data:{
animationData:"",
showModalStatus:false,
imageHeight:0,
imageWidth:0
},
imageLoad: function (e) {
this.setData({imageHeight:e.detail.height,imageWidth:e.detail.width});
},
showModal: function () {
// 显示遮罩层
var animation = wx.createAnimation({
duration: 200,
timingFunction: "linear",
delay: 0
})
this.animation = animation
animation.translateY(animationShowHeight).step()
this.setData({
animationData: animation.export(),
showModalStatus: true
})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export()
})
}.bind(this), 200)
},
hideModal: function () {
// 隐藏遮罩层
var animation = wx.createAnimation({
duration: 200,
timingFunction: "linear",
delay: 0
})
this.animation = animation;
animation.translateY(animationShowHeight).step()
this.setData({
animationData: animation.export(),
})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export(),
showModalStatus: false
})
}.bind(this), 200)
},
onShow:function(){
let that = this;
wx.getSystemInfo({
success: function(res) {
animationShowHeight = res.windowHeight;
}
})
},
})
index.wxml
<!--index.wxml-->
<view class="container-column">
<view animation="{{animationData}}" class="container-column buydes-dialog-container" wx:if="{{showModalStatus}}">
<view class="buydes-dialog-container-top" bindtap="hideModal"></view>
<view class="container-column buydes-dialog-container-bottom">
<block wx:for="{{['操作1','操作2','操作3','取消']}}" wx:for-index="index" wx:key="key" wx:for-item="item">
<view bindtap="hideModal" class="buydes-dialog-container-bottom-item" >{{item}}</view>
</block>
</view>
</view>
<image bindtap="showModal" bindload="imageLoad" src="../pro1.jpg"/>
</view>
index.wxss
.buydes-dialog-container{
width: 100%;
height: 100%;
justify-content: space-between;
background-color:rgba(15, 15, 26, 0.7);
position: fixed;
z-index: 999;
}
.buydes-dialog-container-top{
flex-grow: 1;
}
.buydes-dialog-container-bottom{
display: flex;
flex-grow: 0;
}
.buydes-dialog-container-bottom-item{
padding:24rpx;
display: flex;
justify-content: center;
border-bottom: 1rpx solid #eeeeee;
}
关于微信小程序中怎么自定义对话框弹出就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。