首頁  >  文章  >  web前端  >  微信小程式怎麼做出彈出框功能

微信小程式怎麼做出彈出框功能

php中世界最好的语言
php中世界最好的语言原創
2018-06-06 10:18:403285瀏覽

這次帶給大家微信小程式怎樣做出彈出框功能,微信小程式怎樣做出彈出框功能的注意事項有哪些,下面就是實戰案例,一起來看一下。

電商項目中商品詳情頁,加入購物車或下單時可以選擇商品屬性的彈出框,透過設定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中文網其它相關文章!

推薦閱讀:

ajax怎樣動態增加表格的tr與td

微信小程式內輪播圖怎樣設定成自適應高度

#

以上是微信小程式怎麼做出彈出框功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn