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

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 16:48:29
字體:
來源:轉載
供稿:網友

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

布局分析:

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

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


wxml:

<!--主盒子--> <view class="container">  <!--左側欄-->  <view class="nav_left">  <block wx:for="{{navLeftItems}}">  <!--當前項的id等于item項的id,那個就是當前狀態-->  <!--用data-index記錄這個數據在數組的下標位置,使用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">  <!--如果有數據,才遍歷項-->  <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>  <!--如果無數據,則顯示數據-->  <view wx:else>暫無數據</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() {  // 加載的使用進行網絡訪問,把需要的數據設置到data數據對象  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   })   }  })  },   //事件處理函數  switchRightTab: function(e) {  // 獲取item項的id,和數組的下標值  let id = e.target.dataset.id,   index = parseInt(e.target.dataset.index);  // 把點擊到的某一項,設為當前index  this.setData({   curNav: id,   curIndex: index  })  }  }) 

demo地址:側欄分類效果

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 工布江达县| 广昌县| 奈曼旗| 武平县| 大化| 汶川县| 依安县| 泰和县| 肥东县| 桑植县| 巩留县| 运城市| 彭水| 达尔| 阿拉尔市| 铅山县| 苏州市| 丰镇市| 孝感市| 英吉沙县| 思茅市| 河东区| 麻城市| 德兴市| 垣曲县| 台湾省| 清苑县| 博客| 元朗区| 九江县| 南岸区| 元谋县| 天峨县| 平度市| 土默特右旗| 常山县| 从江县| 玛曲县| 荃湾区| 汉川市| 都昌县|