效果图如下所示:
<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实现侧边菜单栏手风琴效果实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Bootstrap 手风琴菜单的实现代码,包括了Bootstrap 手风琴菜单的实现代码的使用技巧和注意事项,需要的朋友参考一下 好了,废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上所述是小编给大家介绍的Bootstrap 手风琴菜单的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!
本文向大家介绍简单实现jQuery手风琴效果,包括了简单实现jQuery手风琴效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现手风琴效果的具体代码,供大家参考,具体内容如下 js代码: css代码: html代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JavaScript实现手风琴效果,包括了JavaScript实现手风琴效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript实现手风琴效果的具体代码,供大家参考,具体内容如下 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍纯js实现手风琴效果代码,包括了纯js实现手风琴效果代码的使用技巧和注意事项,需要的朋友参考一下 我知道现在大多数前端开发人员都在使用jQuery等第三方的库来进行开发,这不仅节约了时间,也让效率大大的提高,并让公司的效益增加,何乐而不为呢? 但是,这也会有一定的缺点,比如jQ比js慢,尤其在大型项目中就会显现出来,下面我用原生js实现一个简单的手风琴效果效果。 HTML代码如下
本文向大家介绍js实现简单的手风琴效果,包括了js实现简单的手风琴效果的使用技巧和注意事项,需要的朋友参考一下 效果图: 图(1)初始图 图(2)点击展开效果 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!
本文向大家介绍Html5 js实现手风琴效果,包括了Html5 js实现手风琴效果的使用技巧和注意事项,需要的朋友参考一下 使用H5实现横向的手风琴功能,供大家参考,具体内容如下 下载链接:H5实现手风琴 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。