|
|
使用场景:购物商城类,商品sku弹出选择样式:
效果图:
进阶:
html可以写成模板,方便随时引用;
css和js可以写到全局里面;
html:
- <view bindtap="showModal">显示遮罩层</view>
- <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)
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|