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


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的链式调用之each函数
Dec 03 Javascript
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
jquery实现控制表格行高亮实例
Jun 05 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
Jun 23 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
Aug 23 Javascript
node使用promise替代回调函数
May 07 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 Javascript
详解JavaScript 中的批处理和缓存
Nov 19 Javascript
Vue实现简单计算器
Jan 20 Vue.js
微信小程序中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
一个好用的PHP验证码类实例分享
2013/12/27 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
Angularjs单选框相关的示例代码
2017/08/17 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
python 判断自定义对象类型
2009/03/21 Python
Python的动态重新封装的教程
2015/04/11 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
Python中property属性实例解析
2018/02/10 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Django中的文件的上传的几种方式
2018/07/23 Python
python 修改本地网络配置的方法
2019/08/14 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
编辑个人求职信范文
2013/09/21 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
三十年同学聚会感言
2015/07/30 职场文书
技术入股协议书
2016/03/22 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL