微信小程序 自定义弹窗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序 自定义弹窗相关的知识,希望对你有一定的参考价值。
参考技术A <button bindtap="powerDrawer" type="primary" size="mini" style="width: 55%;" data-statu="open">中奖记录</button><!-- 中间名单弹窗 -->
<view class="drawer_div">
<view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="showModalStatus"></view>
<view animation="animationPrize" class="drawer_box" wx:if="showModalStatus">
<view class="drawer_title">
中奖记录
<image src="../img/x@2x.png" bindtap="powerDrawer" data-statu="close"></image>
</view>
<view class="drawer_content">
<view class="top grid">
<text>
名称:啦啦啦啦啦啦啦啦
</text>
<text>
时间:2020-02-20
</text>
</view>
<view class="top grid">
<text>
名称:啦啦啦啦啦啦啦啦
</text>
<text>
时间:2020-02-20
</text>
</view>
</view>
</view>
</view>
.drawer_screen
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
background: #000;
opacity: 0.5;
overflow: hidden;
/*content*/
.drawer_box
width: 650rpx;
overflow: hidden;
position: fixed;
top: 50%;
left: 0;
z-index: 1001;
background: #FAFAFA;
margin: -150px 50rpx 0 50rpx;
border-radius: 3px;
.drawer_title
padding:30rpx 20rpx;
font-size: 36rpx;
text-align: center;
position: relative;
.drawer_title image
display: inline-block;
width: 30rpx;
height: 30rpx;
position: absolute;
right: 9px;
top: 10px;
.drawer_content
height: 210px;
overflow-y: scroll; /*超出父盒子高度可滚动*/
padding: 0 20rpx;
.top
display: flex;
justify-content: space-between;
border-bottom: 1px dashed #ccc;
.top text
display: inline-block;
height: 60rpx;
line-height: 20rpx;
data:
animationPrize: ,
powerDrawer: function (e)
// console.log(e);
let currentStatu = e.currentTarget.dataset.statu;
this.util(currentStatu);
,
util: function (currentStatu)
/* 动画部分 */
// 第1步:创建动画实例
var animation = wx.createAnimation(
duration: 200, //动画时长
timingFunction: "linear", //线性
delay: 0 //0则不延迟
);
// 第2步:这个动画实例赋给当前的动画实例
this.animation = animation;
// 第3步:执行第一组动画
animation.opacity(0).rotateX(-100).step();
// 第4步:导出动画对象赋给数据对象储存
this.setData(
animationPrize: animation.export()
)
// 第5步:设置定时器到指定时候后,执行第二组动画
setTimeout(function ()
// 执行第二组动画
animation.opacity(1).rotateX(0).step();
// 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象
this.setData(
animationPrize: animation
)
//关闭
if (currentStatu == "close")
this.setData(
showModalStatus: false
);
.bind(this), 200)
// 显示
if (currentStatu == "open")
this.setData(
showModalStatus: true
);
,
以上是关于微信小程序 自定义弹窗的主要内容,如果未能解决你的问题,请参考以下文章