javascript - 添加 SlideToggle 效果下拉菜单

标签 javascript jquery html css

我有这个 jQuery 下拉菜单。我在尝试使其具有向下滑动切换效果时遇到困难(如下所示: http://jsfiddle.net/LaSsr/188/ )。如果有人可以将这种类型的幻灯片效果应用到下面的 JSfiddle 中,我们将非常感激。谢谢:)

JSFIDDLE

https://jsfiddle.net/6mWZa/182/

(function($, undefined) {
  var open = [];

  var opts = {
    selector: '.dropdown',
    toggle: 'dropdown-toggle',
    open: 'dropdown-open',
    nest: true
  };





  $(document).on('click.dropdown touchstart.dropdown', function(e) {
    // Close the last open dropdown if click is from outside the target dropdown
    if (open.length && (!opts.nest || !open[open.length - 1].find(e.target).length)) {
      open.pop().removeClass(opts.open);
    }

    var $this = $(e.target);

    // If target is a dropdown then toggle it...
    if ($this.hasClass(opts.toggle)) {
      e.preventDefault();

      $this = $this.closest(opts.selector);

      if (!$this.hasClass(opts.open)) {
        open.push($this.addClass(opts.open));
      } else {
        open.pop().removeClass(opts.open);
      }
    }
  });

})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="language" class="dropdown">
  <a href="#language" class="dropdown-toggle">English</a>
  <div class="dropdown-menu">
    <div class="dropdownCool">
      Hello1
    </div>
  </div>
</div>

<div id="locale" class="dropdown">
  <a href="#locale" class="dropdown-toggle">
        
        London</a>
  <div class="dropdown-menu">
    <div class="dropdownCool">
      Hello2
    </div>
  </div>
</div>

最佳答案

如果您还无法解决该问题,请检查这是否有用

/* dropdown */
.dropdown-menu {
    position:absolute;
    top:50px;
    right:0;
    left:0;
    display
    margin:0;
    padding:0;
    width:100%;
    list-style-type:none;
    width:100%;
    background-color:red;
   height:0px;
   transition:  height 0.15s ease-out;
   overflow: hidden;
}

将其添加到您的 .dropdown-menu 类中,并

.dropdown-open > .dropdown-menu {

          height: 400px;
        transition:  height 0.25s ease-in;
    }

我已从样式中删除了“不显示”,并添加了高度 0 和溢出隐藏

请检查您更新的 fiddle https://jsfiddle.net/6mWZa/186/

关于javascript - 添加 SlideToggle 效果下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40167725/

相关文章:

javascript - 在 Vue.js 应用程序中包含 npm 包

javascript - Jquery Tablesorter 自定义日期

javascript - Dropzone.js 拖放在 IE10 中不起作用

c# - 使用分页符打印 html 文件

javascript - javascript 或 jquery 中的 Json 解析

php - 在 Javascript 的帮助下使用 PHP 为文本框设置值

javascript - 删除所有 CSS 规则

javascript - 防止 ng-include 内容预加载,直到切换为显示

jquery - Struts2 Jquery 构造

html - flex 盒子折叠在另一个盒子的顶部