亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序?qū)崿F(xiàn)漂亮的彈窗效果

 更新時(shí)間:2020年05月26日 14:19:25   作者:Silence-Rain  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)漂亮的彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近項(xiàng)目里需要實(shí)現(xiàn)一個(gè)帶著logo的美美噠彈窗,可是翻遍小程序的文檔也只能見(jiàn)到wx.showModal這個(gè)丑丑的東西……
場(chǎng)面一度十分尷尬
可是得做啊,要不然產(chǎn)品大姐又要暴走了……
好吧,來(lái)研究一下模態(tài)對(duì)話框的性質(zhì)自己DIY吧~

實(shí)現(xiàn)思路

模態(tài)對(duì)話框之所以被叫做“模態(tài)”,就是因?yàn)樵谒鼜棾龅臅r(shí)候,用戶如果不關(guān)閉這個(gè)對(duì)話框,是無(wú)法對(duì)其他窗口進(jìn)行操作的。
那么這樣一來(lái),我們的思路就很明確了:

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

示例代碼

.wxml:

<view class="mask" catchtouchmove="preventTouchMove" wx:if="{{showModal}}"></view>

<view class="modalDlg" wx:if="{{showModal}}">
 <image src="/figures/logo-smile.png"/>
 <text>歡迎來(lái)到模態(tài)對(duì)話框~</text>
 <button bindtap="go">點(diǎn)我可以關(guān)掉對(duì)話框</button>
</view>

<button bindtap="submit">點(diǎn)我彈窗</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函數(shù)是一個(gè)空函數(shù),使用了catch事件,目的就是阻止touchmove這樣一個(gè)冒泡事件繼續(xù)向下傳遞。
  2. 蒙層的wxss樣式中,指定其大小為100%以占滿整個(gè)屏幕。
  3. 模態(tài)對(duì)話框與蒙層的wxss樣式中均有z-index屬性,為的是保證對(duì)話框始終浮在蒙層的上方(即對(duì)話框的z-index始終要比蒙層的大)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論