小程序自定義彈框的方法

本文實例為大傢分享瞭小程序自定義彈框的具體代碼,供大傢參考,具體內容如下

1、頁面簡單佈局

<button bindtap='ElasticFrameClick'>彈框</button>
<view class="modal-mask" bindtap="hideModal" wx:if="{{showModal}}"></view>
<view wx:if="{{showModal}}">
  <view class="modal-content">
    <view class='modal_title'>添加備註</view>
    <view class='modal_textarea'>
      <textarea placeholder='備註' maxlength='-1'></textarea>
    </view>
    <view class='btn'bindtap='hideModal'>保存</view>
  </view>
</view>

2、樣式設置

/* 遮蓋層 */
 
.modal-mask {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #000;
  opacity: 0.5;
  overflow: hidden;
  z-index: 9000;
  color: #fff;
}
 
/* 白色背景 */
 
.modal-content {
  position: fixed;
  top: 120rpx;
  left: 75rpx;
  z-index: 9500;
  width: 600rpx;
  height: 720rpx;
  overflow: hidden;
  background: #fff;
  border-radius: 20rpx;
}
 
.modal_title {
  height: 96rpx;
  width: 100%;
  line-height: 96rpx;
  border-top-right-radius: 20rpx;
  border-top-left-radius: 20rpx;
  background-color: #5a94ff;
  color: #fff;
  text-align: center;
}
 
.modal_textarea {
  height: 395rpx;
  width: calc(100% - 40rpx);
  margin: 20rpx;
}
 
.modal_textarea textarea {
  height: 100%;
  width: 100%;
}
 
.btn{
  height: 70rpx;
  width: 390rpx;
  background-color: #5a94ff;
  color: #fff;
  text-align: center;
  line-height: 70rpx;
  border-radius: 50rpx;
  margin: 0 auto;
  margin-top: 40rpx;
}

3、js控制

Page({
 
  /**
   * 頁面的初始數據
   */
  data: {
    showModal: false,
  },
 
  /**
   * 生命周期函數--監聽頁面加載
   */
  onLoad: function(options) {
 
  },
  ElasticFrameClick: function() {
    this.setData({
      showModal: true
    })
  },
 
  toShowModal(e) {
    this.setData({
      showModal: true
    })
  },
 
  // 隱藏彈框
  hideModal() {
    this.setData({
      showModal: false
    });
  },
 
  /**
   * 生命周期函數--監聽頁面初次渲染完成
   */
  onReady: function() {
 
  },
 
  /**
   * 生命周期函數--監聽頁面顯示
   */
  onShow: function() {
 
  },
 
  /**
   * 生命周期函數--監聽頁面隱藏
   */
  onHide: function() {
 
  },
 
  /**
   * 生命周期函數--監聽頁面卸載
   */
  onUnload: function() {
 
  },
 
  /**
   * 頁面相關事件處理函數--監聽用戶下拉動作
   */
  onPullDownRefresh: function() {
 
  },
 
  /**
   * 頁面上拉觸底事件的處理函數
   */
  onReachBottom: function() {
 
  },
 
  /**
   * 用戶點擊右上角分享
   */
  onShareAppMessage: function() {
 
  }
})

4、頁面呈現

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: