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 相关文章推荐
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
Aug 16 Javascript
js获取当前日期前七天的方法
Feb 28 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
分享9点个人认为比较重要的javascript 编程技巧
Apr 27 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
详解babel升级到7.X采坑总结
May 12 Javascript
JavaScript实现PC端横向轮播图
Feb 07 Javascript
Vue 构造选项 - 进阶使用说明
Aug 14 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
原生JS实现的双色球功能示例
2018/02/02 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
vue实现购物车加减
2020/05/30 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python抽象类的新写法
2015/06/18 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
办公室主任岗位职责
2013/11/08 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
高中军训第一天感言
2014/03/06 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
社团招新宣传语
2015/07/13 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android
Python Matplotlib绘制动画的代码详解
2022/05/30 Python