微信小程序商城项目之侧栏分类效果(1)
网络编程 2021-07-04 18:32www.168986.cn编程入门
这篇文章主要为大家详细介绍了微信小程序实战商城系列之侧栏分类效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在商场项目中,一般都会有分类页面。
分类页面可以给用户快速找到相关的商品,狼蚁网站SEO优化以侧栏分类为例,如下图
布局分析
<主盒子>
<左盒子></左盒子>
<右盒子></右盒子>
</主盒子>
左盒子使用标准流
右盒子使用绝对定位(、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; : 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-: 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./wemall/goodstype/typebrandList', method: 'GET', data: {}, header: { 'Aept': 'application/json' }, suess: 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地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程