欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序商城項目之側欄分類效果(1)

 更新時間:2022年05月22日 07:50:11   作者:michael_ouyang  
這篇文章主要為大家詳細介紹了微信小程序實戰(zhàn)商城系列之側欄分類效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在商場項目中,一般都會有分類頁面。
分類頁面可以給用戶快速找到相關的商品,下面以側欄分類為例,如下圖

布局分析:

<主盒子>
<左盒子></左盒子>
<右盒子></右盒子>
</主盒子>

左盒子使用標準流
右盒子使用絕對定位(top、right)

wxml:

<!--主盒子--> 
<view class="container"> 
 <!--左側欄--> 
 <view class="nav_left"> 
 <block wx:for="{{navLeftItems}}"> 
 <!--當前項的id等于item項的id,那個就是當前狀態(tài)--> 
 <!--用data-index記錄這個數(shù)據(jù)在數(shù)組的下標位置,使用data-id設置每個item的id值,供打開2級頁面使用--> 
 <view class="nav_left_items {{curNav == item.id ? 'active' : ''}}" bindtap="switchRightTab" data-index="{{index}}" data-id="{{item.id}}">{{item.tree.desc}}</view> 
 </block> 
 </view> 
 <!--右側欄--> 
 <view class="nav_right"> 
 <!--如果有數(shù)據(jù),才遍歷項--> 
 <view wx:if="{{navRightItems[curIndex].tree.nodes[1].tree.nodes}}"> 
 <block wx:for="{{navRightItems[curIndex].tree.nodes[1].tree.nodes}}"> 
 <view class="nav_right_items"> 
  <navigator url="../list/index?brand={{item.tree.id}}&typeid={{navRightItems[curIndex].id}}"> 
  <!--用view包裹圖片組合,如果有圖片就用,無圖片提供就使用50x30的這個默認圖片--> 
  <view>  
  <block wx:if="{{item.tree.logo}}"> 
  <image src="{{item.tree.logo}}"></image> 
  </block> 
  <block wx:else> 
  <image src="http://temp.im/50x30"></image> 
  </block> 
  </view> 
  <!--如果有文字,就用文字;無文字就用其他--> 
  <view wx:if="{{item.tree.desc}}"> 
  <text>{{item.tree.desc}}</text> 
  </view> 
  <view wx:else> 
  <text>{{item.tree.desc2}}</text> 
  </view> 
  </navigator> 
 </view> 
 </block> 
 </view> 
 <!--如果無數(shù)據(jù),則顯示數(shù)據(jù)--> 
 <view wx:else>暫無數(shù)據(jù)</view> 
 </view> 
</view> 

wxss:

page{ 
 background: #f5f5f5; 
} 
/*總體主盒子*/ 
.container { 
 position: relative; 
 width: 100%; 
 height: 100%; 
 background-color: #fff; 
 color: #939393; 
} 
 
/*左側欄主盒子*/ 
.nav_left{ 
 /*設置行內塊級元素(沒使用定位)*/ 
 display: inline-block; 
 width: 25%; 
 height: 100%; 
 /*主盒子設置背景色為灰色*/ 
 background: #f5f5f5; 
 text-align: center; 
} 
/*左側欄list的item*/ 
.nav_left .nav_left_items{ 
 /*每個高30px*/ 
 height: 30px; 
 /*垂直居中*/ 
 line-height: 30px; 
 /*再設上下padding增加高度,總高42px*/ 
 padding: 6px 0; 
 /*只設下邊線*/ 
 border-bottom: 1px solid #dedede; 
 /*文字14px*/ 
 font-size: 14px; 
} 
/*左側欄list的item被選中時*/ 
.nav_left .nav_left_items.active{ 
 /*背景色變成白色*/ 
 background: #fff; 
} 
 
/*右側欄主盒子*/ 
.nav_right{ 
 /*右側盒子使用了絕對定位*/ 
 position: absolute; 
 top: 0; 
 right: 0; 
 flex: 1; 
 /*寬度75%,高度占滿,并使用百分比布局*/ 
 width: 75%; 
 height: 100%; 
 padding: 10px; 
 box-sizing: border-box; 
 background: #fff; 
} 
/*右側欄list的item*/ 
.nav_right .nav_right_items{ 
 /*浮動向左*/ 
 float: left; 
 /*每個item設置寬度是33.33%*/ 
 width: 33.33%; 
 height: 80px; 
 text-align: center; 
} 
.nav_right .nav_right_items image{ 
 /*被圖片設置寬高*/ 
 width: 50px; 
 height: 30px; 
} 
.nav_right .nav_right_items text{ 
 /*給text設成塊級元素*/ 
 display: block; 
 margin-top: 5px; 
 font-size: 10px; 
 /*設置文字溢出部分為...*/ 
 overflow: hidden; 
 white-space: nowrap; 
 text-overflow: ellipsis; 
} 

js:

Page({ 
 data: { 
 navLeftItems: [], 
 navRightItems: [], 
 curNav: 1, 
 curIndex: 0 
 }, 
 onLoad: function() { 
 // 加載的使用進行網(wǎng)絡訪問,把需要的數(shù)據(jù)設置到data數(shù)據(jù)對象 
 var that = this  
 wx.request({ 
  url: 'http://huanqiuxiaozhen.com/wemall/goodstype/typebrandList', 
  method: 'GET', 
  data: {}, 
  header: { 
  'Accept': 'application/json' 
  }, 
  success: function(res) { 
  console.log(res) 
  that.setData({ 
   navLeftItems: res.data, 
   navRightItems: res.data 
  }) 
  } 
 }) 
 }, 
 
 //事件處理函數(shù) 
 switchRightTab: function(e) { 
 // 獲取item項的id,和數(shù)組的下標值 
 let id = e.target.dataset.id, 
  index = parseInt(e.target.dataset.index); 
 // 把點擊到的某一項,設為當前index 
 this.setData({ 
  curNav: id, 
  curIndex: index 
 }) 
 } 
 
}) 

demo地址:側欄分類效果

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

相關文章

最新評論