注冊(cè)

微信小程序遮罩功能開發(fā)流程

2018-05-11
導(dǎo)讀:微信小程序?qū)崿F(xiàn)遮罩功能 ,所有的用法是控制顯示隱藏的flag的起名的時(shí)候都加一個(gè)flag.駝峰命名法。...

微信小程序?qū)崿F(xiàn)遮罩功能 ,所有的用法是控制顯示隱藏的flag的起名的時(shí)候都加一個(gè)flag.駝峰命名法。

微信小程序遮罩功能開發(fā)流程

step 1 放一個(gè)空塊


  1. <view class='mask'></view>

step2 寫空塊的樣式


  1. .mask{
  2. width:100%;
  3. height:100%;
  4. position:absolute;
  5. background-color:#999;
  6. z-index:9999;
  7. top:0;
  8. left:0;
  9. opacity:0.5;
  10. }

其中顏色可以任選,透明度也可以任選。

有的人做了這樣的兼容處理:


  1. -moz-opacity: 0.7;
  2. opacity: 0.70;
  3. filter: alpha(opacity=70);

目前不太明白,沒(méi)有看到需要的地方,以后可以再添加這個(gè),若是需要。

或者使用rgba的顏色也可以解決。

step 3 控制顯示還是隱藏


  1. wx:if與hidden的選擇
  2. wx:if是...
  3. hidden是...

因?yàn)?wx:if 之中的模板也可能包含數(shù)據(jù)綁定,所有當(dāng) wx:if 的條件值切換時(shí),框架有一個(gè)局部渲染的過(guò)程,因?yàn)樗鼤?huì)確保條件塊在切換時(shí)銷毀或重新渲染。  同時(shí) wx:if 也是惰性的,如果在初始渲染條件為 false,框架什么也不做,在條件第一次變成真的時(shí)候才開始局部渲染。  相比之下,hidden 就簡(jiǎn)單的多,組件始終會(huì)被渲染,只是簡(jiǎn)單的控制顯示與隱藏。  一般來(lái)說(shuō),wx:if 有更高的切換消耗而 hidden 有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在運(yùn)行時(shí)條件不大可能改變則 wx:if 較好。

所以

 

  1. <view class='mask' hidden='{{maskFlag}}'></view>
 

step 4 綁定方法控制 flag 的 true or false

bindtap='showFlag'  然后再寫一下事件處理函數(shù)

 

  1. showFlag:function(){
  2. this.setData({
  3. maskFlag:false,
  4. oilchooseFlag:true
  5. })
  6. }

事件處理函數(shù)控制顯隱,可以控制N個(gè)變量  還需要點(diǎn)確定的時(shí)候隱藏起來(lái),點(diǎn)確定的時(shí)候隱藏

 

  1. <view class='oil_confirm' catchtap='oilConfirm'>確定</view>
  2.  
  3. oilConfirm:function(){
  4. this.setData({
  5. maskFlag: true,
  6. oilchooseFlag: false
  7. })
  8. }

他人做法:

通過(guò)控制style的display來(lái)控制顯示和隱藏:

 

  1. <view class="show" bindtap='hideview' style='display:{{display}}'>

點(diǎn)評(píng):官方說(shuō)明style 接收動(dòng)態(tài)的樣式,在運(yùn)行時(shí)會(huì)進(jìn)行解析,請(qǐng)盡量避免將靜態(tài)的樣式寫進(jìn) style 中,以免影響渲染速度。所以最好不要使用這種方式。

至此,完成。

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問(wèn)題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)