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获取字符串最后一位方法汇总
Nov 13 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
JS实现的生成随机数的4个函数分享
Feb 11 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
浅谈js键盘事件全面控制
Dec 01 Javascript
js实现自动轮换选项卡
Jan 13 Javascript
微信小程序 判断手机号的实现代码
Apr 19 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
Jquery 实现图片轮换
2015/01/28 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python使用turtle绘制分形树
2018/06/22 Python
Python和Go语言的区别总结
2019/02/20 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
python障碍式期权定价公式
2019/07/19 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
师德个人剖析材料
2014/02/02 职场文书
个性婚礼策划方案
2014/05/17 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
实训报告范文大全
2014/11/04 职场文书
财务人员个人工作总结
2015/02/27 职场文书
领导欢送会主持词
2015/07/06 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python