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


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获取多个tagname的节点数组
Sep 22 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
怎么引入(调用)一个JS文件
May 26 Javascript
jQuery插件uploadify实现ajax效果的图片上传
Jun 18 Javascript
js捕捉键盘事件和按键键值的方法
Oct 10 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
简单实现js鼠标跟随效果
Aug 02 Javascript
vue+swiper实现组件化开发的实例代码
Oct 26 Javascript
配置一个vue3.0项目的完整步骤
Apr 26 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
vue 解决provide和inject响应的问题
Nov 12 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
详解JavaScript函数
2015/12/01 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
vue实现记事本功能
2019/06/26 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python 自动提交和抓取网页
2009/07/13 Python
详解Django中间件执行顺序
2018/07/16 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
教师教学评估方案
2014/05/09 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
Golang实现可重入锁的示例代码
2022/05/25 Golang