微信小程序实现侧边栏分类


Posted in Javascript onOctober 21, 2019

本文实例为大家分享了微信小程序侧边栏分类展示的具体代码,供大家参考,具体内容如下

效果图

微信小程序实现侧边栏分类

实现思路

把屏幕当成一个固定的盒子,然后把盒子分成两边,并让盒子的每一边都能够滚动。

源码

index.wxml

<!--主盒子-->
<view class="container">
 <!--左侧栏-->
 <view class="nav_left">
  <block wx:for="{{title}}" wx:for-item="item" wx:key="{{index}}">
   <!-- {{curNav == item.id ? 'active' : ''}} -->
   <!-- 三目运算符是用来给当前选中的目录修改样式用的 -->
   <!-- switchRightTab 函数是用来实现数据的渲染 -->
   <!-- 当用户点击道不同的侧边栏目录时候,根据 data-id 去从数据库获取新的数据,渲染到左侧,并且修改 curNav 的值,使新样式添加到点击的目录上,具体 js 自己实现 -->
   <view class="nav_left_items {{curNav == item.id ? 'active' : ''}}" bindtap="switchRightTab" data-id="{{item.id}}">{{item.name}}</view>
  </block>
 </view>

 <!--右侧栏-->
 <view class="nav_right">
  <view class="nav_right_items">
   <block wx:for="{{content}}" wx:for-item="item" wx:key="{{index}}">
    <view>
     <text>{{item.name}}</text>
    </view>
   </block>
  </view>
 </view>
</view>

index.wxss

page {
 background: #f5f5f5;
}

/*总体主盒子*/

.container {
 display: flex;
 direction: row;
}

/*左侧栏主盒子*/

.nav_left {
 /*设置行内块级元素(没使用定位)*/
 position: absolute;
 display: inline-block;
 width: 35%;
 height: 100%;
 /*主盒子设置背景色为灰色*/
 background: #f5f5f5;
 text-align: center;
 overflow: scroll;
}

/*左侧栏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: 20px;
}

/*左侧栏list的item被选中时*/

.nav_left .nav_left_items.active {
 /*背景色变成白色*/
 background: #fff;
 color: red;
}

/*右侧栏主盒子*/

.nav_right {
 /*右侧盒子使用了绝对定位*/
 position: absolute;
 top: 0;
 right: 0;
 flex: 1;
 /*宽度75%,高度占满,并使用百分比布局*/
 width: 65%;
 height: 100%;
 padding: 10px;
 box-sizing: border-box;
 background: #fff;
 overflow: scroll;
}

.nav_right .nav_right_items {
}

.nav_right .nav_right_items text {
 /*给text设成块级元素*/
 display: block;
 margin-bottom: 25px;
 font-size: 20px;
 /*设置文字居中*/
 text-align: left;
 /*设置文字溢出部分为...*/
 overflow: hidden;
 white-space: nowrap;
 text-overflow: ellipsis;
}

index.js

Page({
 data: {
  curNav: 0,
  title:[
   {
    "id":0,
    "name":"技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },

   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   },
   {
    "id": 1,
    "name": "技术"
   }
  ],
  content:[
   {
    id:2,
    "name":"软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   },
   {
    id: 2,
    "name": "软件工程师"
   }
  ]
 }
})

更多教程点击《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery开发的数独游戏代码
Oct 29 Javascript
Javascript delete 引用类型对象
Nov 01 Javascript
js数组中如何随机取出一个值
Jun 13 Javascript
JavaScript跨域方法汇总
Oct 16 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
Jul 05 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 Javascript
表单中单选框添加选项和移除选项
Jul 04 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
Feb 17 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
vue+element tabs选项卡分页效果
Jun 29 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
微信小程序中weui用法解析
Oct 21 #Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
Oct 21 #Javascript
小程序实现日历左右滑动效果
Oct 21 #Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 #Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 #Javascript
小程序实现横向滑动日历效果
Oct 21 #Javascript
微信小程序实现点击图片放大预览
Oct 21 #Javascript
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
JavaScript 的继承
2011/10/01 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
Python映射拆分操作符用法实例
2015/05/19 Python
python字符串中的单双引
2017/02/16 Python
python 内置函数filter
2017/06/01 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
python中温度单位转换的实例方法
2020/12/27 Python
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
市场部管理制度
2014/02/02 职场文书
美容院营销方案
2014/03/05 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
Python中的datetime包与time包包和模块详情
2022/02/28 Python