Vue2(三)实现子菜单展开收缩,带动画效果实现方法


Posted in Javascript onApril 28, 2019

以前做这种操作就是简单的display:block,但现在用户的要求也越来越高,需要美观和动画感。

现在介绍用一种简单的方式来实现子菜单从上向下展开子菜单。

看下效果图:

Vue2(三)实现子菜单展开收缩,带动画效果实现方法

点开效果:

Vue2(三)实现子菜单展开收缩,带动画效果实现方法

其实原理比较简单,就是通过子菜单的 max-height: 0;和 max-height: 2000px来实现子菜单的显示和关闭。加上css3的 transition: max-height .3s;来实现动画效果。

子菜单的样式:

.tree-son-menu{
  background-color: #FFF;

  .menu-body {
   z-index: 20;
   position: relative;
   color: #5f5f5f;
   overflow: hidden;
   max-height: 0;
   -webkit-transition: max-height .3s;
   transition: max-height .3s;
  }
  &.open .menu-body {
   max-height: 600px;
   -webkit-transition: max-height .5s;
   transition: max-height .5s
  }
  &.two-level{
   .row-item{
    .row-left{
     padding-left: .8rem;
    }
   }

  }
 }

关键语句,子菜单的body默认样式

max-height: 0;
 -webkit-transition: max-height .3s;
  transition: max-height .3s;

当子菜单追加open样式后,子菜单的body样式:

&.open .menu-body {
   max-height: 600px;
   -webkit-transition: max-height .5s;
   transition: max-height .5s
  }

 然后通过点击事件来实现子菜单的样式open的切换,则就轻松实现了菜单的收缩和展开了。

$(".tree-son-menu").toggleClass('open');

以上所述是小编给大家介绍的vue实现收缩展开详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
javascript 随机展示头像实现代码
Dec 06 Javascript
png在IE6 下无法透明的解决方法汇总
May 21 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
jquery select2的使用心得(推荐)
Dec 04 Javascript
js自定义QQ菜单效果
Jan 10 Javascript
微信小程序开发之入门实例教程篇
Mar 07 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
Nov 21 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
在vue中created、mounted等方法使用小结
Jul 21 Javascript
js+html5 canvas实现ps钢笔抠图
Apr 28 #Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
Apr 28 #Javascript
详解微信小程序调用支付接口支付
Apr 28 #Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
Apr 28 #Javascript
使用webpack编译es6代码的方法步骤
Apr 28 #Javascript
使用异步组件优化Vue应用程序的性能
Apr 28 #Javascript
详解微信小程序获取当前时间及日期的方法
Apr 28 #Javascript
You might like
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
js控制CSS样式属性语法对照表
2012/12/11 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
javascript常用方法总结
2015/05/14 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
图片上传之FileAPI与NodeJs
2017/01/24 NodeJs
React组件对子组件children进行加强的方法
2019/06/23 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Python 中pandas.read_excel详细介绍
2017/06/23 Python
python读取中文txt文本的方法
2018/04/12 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
mac下如何将python2.7改为python3
2018/07/13 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
企业法人代表任命书
2014/06/06 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
教师节校长致辞
2015/07/31 职场文书
财产分割协议书
2016/03/22 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python
浅谈Python中对象是如何被调用的
2022/04/06 Python