注冊

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

2018-05-11
導讀:微信小程序實現(xiàn)遮罩功能 ,所有的用法是控制顯示隱藏的flag的起名的時候都加一個flag.駝峰命名法。...

微信小程序實現(xiàn)遮罩功能 ,所有的用法是控制顯示隱藏的flag的起名的時候都加一個flag.駝峰命名法。

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

step 1 放一個空塊


  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);

目前不太明白,沒有看到需要的地方,以后可以再添加這個,若是需要。

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

step 3 控制顯示還是隱藏


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

因為 wx:if 之中的模板也可能包含數據綁定,所有當 wx:if 的條件值切換時,框架有一個局部渲染的過程,因為它會確保條件塊在切換時銷毀或重新渲染。  同時 wx:if 也是惰性的,如果在初始渲染條件為 false,框架什么也不做,在條件第一次變成真的時候才開始局部渲染。  相比之下,hidden 就簡單的多,組件始終會被渲染,只是簡單的控制顯示與隱藏。  一般來說,wx:if 有更高的切換消耗而 hidden 有更高的初始渲染消耗。因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在運行時條件不大可能改變則 wx:if 較好。

所以

 

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

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

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

 

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

事件處理函數控制顯隱,可以控制N個變量  還需要點確定的時候隱藏起來,點確定的時候隱藏

 

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

他人做法:

通過控制style的display來控制顯示和隱藏:

 

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

點評:官方說明style 接收動態(tài)的樣式,在運行時會進行解析,請盡量避免將靜態(tài)的樣式寫進 style 中,以免影響渲染速度。所以最好不要使用這種方式。

至此,完成。

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

第一部分:小商店是什么

第二部分:如何開通一個小商店

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

第四部分:開店任務常見問題

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

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

第七部分:小程序直播

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

第九部分:小程序怎么結算

第十部分:小程序客服

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

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