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


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 相关文章推荐
简单通用的JS滑动门代码
Dec 19 Javascript
JavaScript中获取元素索引的函数
Sep 10 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
理解js对象继承的N种模式
Jan 25 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
discuz表情的JS提取方法分析
Mar 22 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
Sep 07 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
Apr 17 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
Jul 22 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 Javascript
微信小程序中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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
下载文件的点击数回填
2006/10/09 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
python实现跨文件全局变量的方法
2014/07/07 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
python 实现识别图片上的数字
2019/07/30 Python
Python类反射机制使用实例解析
2019/12/30 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
iostream与iostream.h的区别
2015/01/16 面试题
企业军训感想
2014/02/07 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
办公用房租赁协议书
2014/11/29 职场文书
2016春节慰问信范文
2015/03/25 职场文书
vue实现在data里引入相对路径
2022/06/05 Vue.js