Vue实现侧边菜单栏手风琴效果实例代码


Posted in Javascript onMay 31, 2018

效果图如下所示:

Vue实现侧边菜单栏手风琴效果实例代码

Vue实现侧边菜单栏手风琴效果实例代码

<template> 
  <div class="asideBox"> 
   <aside> 
    <ul class="asideMenu"> 
     <li v-for="(item,index) in menuList"> 
      <div class="oneMenu" @click="showToggle(item,index)"> 
       <img v-bind:src="item.imgUrl" /> 
       <span>{{item.name}}</span> 
      </div> 
      <ul v-show="item.isSubShow"> 
       <li v-for="subItem in item.subItems"> 
        <div class="oneMenuChild">{{subItem.name}}</div> 
       </li> 
      </ul> 
     </li> 
    </ul> 
   </aside> 
  </div> 
</template>
export default { 
  data(){ 
   return{ 
    menuList:[ 
     { 
      name:'字符录入', 
      imgUrl:require('../assets/images/icon-character.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'字符录入' 
       }, 
       { 
        name:'白话文录入' 
       }, 
       { 
        name:'文言文录入' 
       }, 
       { 
        name:'小写数字录入' 
       } 
      ] 
     }, 
     { 
      name:'票据数据录入', 
      imgUrl:require('../assets/images/icon-bill.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'票据录入' 
       }, 
       { 
        name:'翻打传票' 
       }, 
      ] 
     }, 
     { 
      name:'交易码录入', 
      imgUrl:require('../assets/images/icon-transaction.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'交易码录入' 
       }, 
       { 
        name:'交易名称录入' 
       }, 
      ] 
     }, 
     { 
      name:'操作码录入', 
      imgUrl:require('../assets/images/icon-operation.png'), 
      isSubShow:false, 
      subItems:[ 
       { 
        name:'操作码录入' 
       }, 
       { 
        name:'操作名称录入' 
       }, 
      ] 
     }, 
     { 
      name:'票据学习', 
      imgUrl:require('../assets/images/icon-billearn.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
     { 
      name:'内部凭证学习', 
      imgUrl:require('../assets/images/icon-voucher.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
     { 
      name:'现金管理学习', 
      imgUrl:require('../assets/images/icon-cash.png'), 
      isSubShow:false, 
      subItems:[ 
      ] 
     }, 
    ] 
   } 
  }, 
  methods:{ 
   // 点击展开折叠菜单事件 
   showToggle:function(item,ind){ 
    this.menuList.forEach(i => { 
     // 判断如果数据中的menuList[i]的show属性不等于当前数据的isSubShow属性那么menuList[i]等于false 
     if (i.isSubShow !== this.menuList[ind].isSubShow) { 
      i.isSubShow = false; 
     } 
    }); 
    item.isSubShow = !item.isSubShow; 
    console.log(item.name) 
   }, 
  } 
 }
<style lang="scss" scoped> 
 $menuBackColor:#f1f1f1; 
 $menuListH2:#8fbfef; 
 .asideBox{ 
  height: 100%; 
  width: 300px; 
  aside{ 
   background: $menuBackColor; 
   height: 100%; 
   .asideMenu{ 
    .oneMenu{ 
     height: 50px; 
     line-height: 50px; 
     font-size: 18px; 
     font-weight: normal; 
     color: #ffffff; 
     background: $menuListH2 url("../assets/images/icon-open.png") no-repeat 280px center; 
     border-bottom: 1px solid #669cd9; 
     img{ 
      width: 20px; 
      height: 20px; 
      margin: 15px 16px 15px 20px; 
      vertical-align: top; 
     } 
    } 
    .oneMenuChild{ 
     padding: 0 20px 0 60px; 
     height: 40px; 
     line-height: 40px; 
     background: $menuBackColor; 
     border-bottom: 1px solid #ffffff; 
     color: #454343; 
     font-size: 18px; 
    } 
   } 
  } 
 } 
</style>

总结

以上所述是小编给大家介绍的Vue实现侧边菜单栏手风琴效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
jquery实现的树形目录实例
Jun 26 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
Nov 02 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 Javascript
手机注册发送验证码倒计时的简单实例
Nov 15 Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
vue组件详解之使用slot分发内容
Apr 09 Javascript
详解js访问对象的属性和方法
Oct 25 Javascript
使用Angular自定义字段校验指令的方法示例
Feb 01 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 Javascript
Node.js笔记之process模块解读
May 31 #Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 #Javascript
用JS实现根据当前时间随机生成流水号或者订单号
May 31 #Javascript
Vue2 轮播图slide组件实例代码
May 31 #Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
May 31 #Javascript
JavaScript 中的12种循环遍历方法【总结】
May 31 #Javascript
Vue 让元素抖动/摆动起来的实现代码
May 31 #Javascript
You might like
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
js DOM的学习笔记
2011/12/22 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
js实现简易垂直滚动条
2017/02/22 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
python连接oracle数据库实例
2014/10/17 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
python取余运算符知识点详解
2019/06/27 Python
python pygame实现球球大作战
2019/11/25 Python
纯css3实现走马灯效果
2014/12/26 HTML / CSS
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
介绍一下Make? 为什么使用make
2016/07/31 面试题
自我鉴定思想方面
2013/10/07 职场文书
学前班教师的自我鉴定
2013/12/05 职场文书
汽车维修专业个人求职信范文
2014/01/01 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
医者仁心观后感
2015/06/17 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python