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 相关文章推荐
JavaScript 存在陷阱 删除某一区域所有节点
May 10 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
jquery实现页面加载效果
Feb 21 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 Javascript
使用compose函数优化代码提高可读性及扩展性
Jun 16 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中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
使用Python生成url短链接的方法
2015/05/04 Python
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python中logging实例讲解
2019/01/17 Python
python实现猜数字游戏
2020/03/25 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
Python常用库大全及简要说明
2020/01/17 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
大学生交通专业求职信
2014/09/01 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
中秋节晚会开场白
2015/05/29 职场文书
python代码实现备忘录案例讲解
2021/07/26 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
Python  lambda匿名函数和三元运算符
2022/04/19 Python