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中面向对象技术的模拟
Sep 25 Javascript
区分JS中的undefined,null,"",0和false
Mar 08 Javascript
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
filters.revealTrans.Transition使用方法小结
Aug 19 Javascript
jquery Mobile入门—多页面切换示例学习
Jan 08 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
javascript获取系统当前时间的方法
Nov 19 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
了解重排与重绘
May 29 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
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
jQuery遍历json中多个map的方法
2015/02/12 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
Python版的文曲星猜数字游戏代码
2013/09/02 Python
python实现堆栈与队列的方法
2015/01/15 Python
Python线程的两种编程方式
2015/04/14 Python
Python实例一个类背后发生了什么
2016/02/09 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
python多进程读图提取特征存npy
2019/05/21 Python
使用python制作一个解压缩软件
2019/11/13 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
LN-CC日本:高端男装和女装的奢侈时尚目的地
2019/09/01 全球购物
财务经理的岗位职责
2013/12/17 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
邀请函格式范文
2015/02/02 职场文书
英雄儿女观后感
2015/06/09 职场文书
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers