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


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 相关文章推荐
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
Mar 04 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
Javascript实现字数统计
Jul 03 Javascript
javascript图片预加载实例分析
Jul 16 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
Vue组件实例间的直接访问实现代码
Aug 20 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 Javascript
jQuery 移除事件的方法
Jun 20 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
2006/10/09 PHP
Discuz! Passport 通行证整合
2008/03/27 PHP
PHP 上传文件大小限制
2009/07/05 PHP
mysql总结之explain
2012/02/27 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
简单的代码实现jquery定时器
2014/01/03 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
2016/09/24 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
python 文件与目录操作
2008/12/24 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
使用Python来开发微信功能
2018/06/13 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
给同学的道歉信
2014/01/16 职场文书
审计主管岗位职责
2014/01/31 职场文书
说明书怎么写
2014/05/06 职场文书
高三英语教学计划
2015/01/23 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python