【转】微信小程序自定义底部弹出框
原文地址:https://www.jb51.net/article/143467.htm
效果图
- <view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
- <view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}"></view>
css
- .commodity_screen {
- width: 100%;
- height: 100%;
- position: fixed;
- top: 0;
- left: 0;
- background: #000;
- opacity: 0.2;
- overflow: hidden;
- z-index: 1000;
- color: #fff;
- }
- .commodity_attr_box {
- width: 100%;
- overflow: hidden;
- position: fixed;
- bottom: 0;
- left: 0;
- z-index: 2000;
- background: #fff;
- padding-top: 20rpx;
- }
js
- showModal: function () {
- // 显示遮罩层
- var animation = wx.createAnimation({
- duration: 200,
- timingFunction: "linear",
- delay: 0
- })
- this.animation = animation
- animation.translateY(300).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(300).step()
- this.setData({
- animationData: animation.export(),
- })
- setTimeout(function () {
- animation.translateY(0).step()
- this.setData({
- animationData: animation.export(),
- showModalStatus: false
- })
- }.bind(this), 200)
- }
版权声明:本文为luckyting原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。