如何使下拉菜单随动画一起扩展?

时间:2019-03-29 17:49:58

标签: javascript jquery html css animation

我为自己创建了一个菜单。一切正常,而不是我想添加的使其变得更平滑的动画:

jQuery(document).ready(function () {
  jQuery(".menu-item-top").click(function (e) {
    jQuery(this).toggleClass("visible");
  });
});
#mobile_menu {
    display: block !important;
    min-height: 100vh;
    height: 100%;
    top: 0;
    right: 0;
    position: fixed;
    z-index: 999999;
    overflow: scroll;
    border-top: none;
    padding: 0 0 8px !important;
}

#mobile_menu li {
  list-style: none;
}

#mobile_menu.et_mobile_menu li a {
    padding: 12px 30px;
    margin: 0;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}

.et_mobile_menu ul.sub-menu {
    display: none !important;
    visibility: hidden !important;
}

.et_mobile_menu .visible > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
}

.menu-item-top {
  background: #f9f9f9;
  color: #fff;
  padding: 12px 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="mobile_menu" class="et_mobile_menu">
    <li id="menu-item-199" class="menu-item menu-item-top"><a href="#" aria-current="page">Click to open</a>
        <ul class="sub-menu">
            <li id="menu-item-1424" class="menu-item"><a href="https://google.de" class="has-ripple">Google</a></li>
            <li id="menu-item-1426" class="menu-item"><a href="https://google.de" class="has-ripple">Google</a></li>
        </ul>
    </li>
</ul>

那么,现在如何为<ul>下拉列表设置动画?我也想对其进行动画处理,并使用动画进行备份。我已经尝试了一些方法,但是我还不足以使其正常工作。您可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用max-height属性进行动画制作

喜欢

.et_mobile_menu ul.sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: all .4s ease-in-out;
}

et_mobile_menu .visible > ul.sub-menu {
    max-height: 200px; /* adjust it according to drop-down size */
}