這次帶給大家微信小程式怎樣做出彈出框功能,微信小程式怎樣做出彈出框功能的注意事項有哪些,下面就是實戰案例,一起來看一下。
電商項目中商品詳情頁,加入購物車或下單時可以選擇商品屬性的彈出框,透過設定view的平移動畫,達到從底部彈出的樣式
#1. 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) }
2.wxss程式碼
/*使屏幕变暗 */ .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 { height: 300rpx; width: 100%; overflow: hidden; position: fixed; bottom: 0; left: 0; z-index: 2000; background: #fff; padding-top: 20rpx; }
3.wxml程式碼(其中的showModalStatus變數要現在js程式碼中的data物件中初始化,初始化為false,因為最初的時候對話框並沒有顯示)
<!--屏幕背景变暗的背景 --> <view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view> <!--弹出框 --> <view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}">在这里写弹出框里面的布局</view>
4.設定點選事件,給目標view設定點選函數showModal( )或者hideModal()
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是微信小程式怎麼做出彈出框功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!