国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

微信小程序實現漂亮的彈窗效果

2019-11-19 13:31:38
字體:
來源:轉載
供稿:網友

最近項目里需要實現一個帶著logo的美美噠彈窗,可是翻遍小程序的文檔也只能見到wx.showModal這個丑丑的東西……
場面一度十分尷尬
可是得做啊,要不然產品大姐又要暴走了……
好吧,來研究一下模態對話框的性質自己DIY吧~

實現思路

模態對話框之所以被叫做“模態”,就是因為在它彈出的時候,用戶如果不關閉這個對話框,是無法對其他窗口進行操作的。
那么這樣一來,我們的思路就很明確了:

1. 構建一個蒙層(mask),使得背景變暗,并且阻止用戶對對話框外界面的這里寫代碼片點擊事件;
2. 構建一個對話框,在需要時彈出即可(彈出同時觸發蒙層)。

示例代碼

.wxml:

<view class="mask" catchtouchmove="preventTouchMove" wx:if="{{showModal}}"></view><view class="modalDlg" wx:if="{{showModal}}">  <image src="/figures/logo-smile.png"/>  <text>歡迎來到模態對話框~</text>  <button bindtap="go">點我可以關掉對話框</button></view><button bindtap="submit">點我彈窗</button>

.wxss:

.mask{  width: 100%;  height: 100%;  position: fixed;  top: 0;  left: 0;  background: #000;  z-index: 9000;  opacity: 0.7;}.modalDlg{  width: 580rpx;  height: 620rpx;  position: fixed;  top: 50%;  left: 0;  z-index: 9999;  margin: -370rpx 85rpx;  background-color: #fff;  border-radius: 36rpx;  display: flex;  flex-direction: column;  align-items: center;}

.js:

Page({  data: {    showModal: false  },  submit: function() {    this.setData({    showModal: true    })  },  preventTouchMove: function() {  },  go: function() {     this.setData({    showModal: false    })  }})

需要注意的地方

  1. 蒙層view中綁定的preventTouchMove函數是一個空函數,使用了catch事件,目的就是阻止touchmove這樣一個冒泡事件繼續向下傳遞。
  2. 蒙層的wxss樣式中,指定其大小為100%以占滿整個屏幕。
  3. 模態對話框與蒙層的wxss樣式中均有z-index屬性,為的是保證對話框始終浮在蒙層的上方(即對話框的z-index始終要比蒙層的大)

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武强县| 荣成市| 高尔夫| 荃湾区| 龙口市| 巴楚县| 乐平市| 平度市| 阜平县| 刚察县| 宁河县| 称多县| 祁连县| 塔河县| 静乐县| 北安市| 平南县| 儋州市| 卢湾区| 许昌市| 乌拉特中旗| 梁山县| 涟水县| 称多县| 定兴县| 彩票| 太仆寺旗| 西宁市| 博兴县| 玉门市| 巍山| 抚顺县| 中超| 子洲县| 衡阳市| 玛沁县| 四平市| 上饶市| 洛南县| 阜城县| 侯马市|