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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
JQuery 常用操作代码
Mar 14 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
Apr 29 Javascript
用JS控制回车事件的代码
Feb 20 Javascript
javascript一些实用技巧小结
Mar 18 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
Sep 02 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 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中如何将数组变量写入文件
2013/06/06 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
Yii扩展组件编写方法实例分析
2015/06/29 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
2016/05/17 PHP
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
javascript css红色经典选项卡效果实现代码
2016/05/17 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
python使用pil生成图片验证码的方法
2015/05/08 Python
快速入门python学习笔记
2017/12/06 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
python yield和Generator函数用法详解
2020/02/10 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
简述数组与指针的区别
2014/01/02 面试题
政风行风评议工作总结
2014/10/21 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
goland 恢复已更改文件的操作
2021/04/28 Golang