jquery - 如何更改 Bootstrap 中下拉菜单的动画?

标签 jquery html css twitter-bootstrap animate.css

我在我的网站皮肤中使用了 bootstrap 和 animate.css。我是否可以使用 animate.css 更改 Bootstrap 菜单中显示子菜单的效果?

<div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
              <li class="active"><a href="#">Home</a></li>
              <li><a href="#">About</a></li>
              <li><a href="#">Contact</a></li>
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
                <ul class="dropdown-menu">
                  <li><a href="#">Action</a></li>
                  <li><a href="#">Another action</a></li>
                  <li><a href="#">Something else here</a></li>
                  <li role="separator" class="divider"></li>
                  <li class="dropdown-header">Nav header</li>
                  <li><a href="#">Separated link</a></li>
                  <li><a href="#">One more separated link</a></li>
                </ul>
              </li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
              <li class="active"><a href="./">Default <span class="sr-only">(current)</span></a></li>
              <li><a href="../navbar-static-top/">Static top</a></li>
              <li><a href="../navbar-fixed-top/">Fixed top</a></li>
            </ul>
          </div>

最佳答案

好吧,我认为这将满足您的需求:

DEMO

代码(JS):

$('.dropdown-menu').addClass('invisible'); //FIRST TIME INVISIBLE

// ADD SLIDEDOWN ANIMATION TO DROPDOWN-MENU 
  $('.dropdown').on('show.bs.dropdown', function(e){
    $('.dropdown-menu').removeClass('invisible');
    $(this).find('.dropdown-menu').first().stop(true, true).slideDown();
  });

  // ADD SLIDEUP ANIMATION TO DROPDOWN-MENU 
  $('.dropdown').on('hide.bs.dropdown', function(e){
    $(this).find('.dropdown-menu').first().stop(true, true).slideUp();
  });

除了添加上面的 javascript,您还可以尝试添加以下 CSS 代码:

DEMO_2

代码(CSS):

.dropdown .dropdown-menu {
    height: 0px;
    display: block;
    overflow: hidden;
    opacity:0;
-webkit-transition: height 1s ease;
-moz-transition: height 1s ease;
-ms-transition: height 1s ease;
-o-transition: height 1s ease;
transition: height 1s ease;

}


.dropdown.open .dropdown-menu {
    height:200px;
    opacity: 1;

}

干杯,

编辑:我发现使用 all 而不是 height 甚至更流畅,因为它还为不透明度设置了动画。

关于jquery - 如何更改 Bootstrap 中下拉菜单的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566382/

相关文章:

php - 使用 PHP(多个图像)更改图像覆盖框内容。纯CSS

css - 如何使用CSS制作右箭头

php - 谷歌组合图问题

javascript - 更改视频源而不停止 HTML5 视频

css - 在 div 中“拉伸(stretch)”背景图像 - 100% 高度

css - 流畅的 CSS 布局,背景上有一个居中的大 div

java - 使用文本定位元素

javascript - Div 调整大小在 Internet Explorer 上不起作用

jQuery 进行动态 ajax 调用并等待它们完成

php - 使用循环在php页面中显示html复选框多个复选框内容