【问题标题】:How to make Bootstrap's dropdown on hover?如何在悬停时制作 Bootstrap 的下拉菜单?
【发布时间】:2012-10-25 23:52:30
【问题描述】:

如何使 twitter bootstrap 的菜单下拉菜单悬停而不是单击?

【问题讨论】:

标签: drop-down-menu twitter-bootstrap


【解决方案1】:

虽然How to make twitter bootstrap menu dropdown on hover rather than click 得到了很多人的支持,但使用较新版本的 Bootstrap,无需破解它。

http://cameronspear.com/blog/twitter-bootstrap-dropdown-on-hover-plugin/ 是现有 dropdown.js 的替代品,可让您在悬停时启用。无需修改 CSS。

【讨论】:

    【解决方案2】:

    这是我用来让导航栏下拉菜单在悬停时向下滑动而不只是弹出的功能

    $('.navbar .dropdown').hover(function() {
      $(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
    }, function() {
      $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp()
    });
    

    【讨论】:

      【解决方案3】:

      1.在鼠标悬停上隐藏下拉菜单

      $(document).ready(function() {
          $('.nav li.dropdown').hover(function() {
              $(this).addClass('open');
          }, function() {
              $(this).removeClass('open');
          });
      });
      

      2.在点击时隐藏下拉菜单

      $(document).ready(function() {
          $('.nav li.dropdown').hover(function() {
              $(this).addClass('open');
          });
      });
      

      http://jsfiddle.net/7yMsQ/1/

      【讨论】:

      • 还在第二个(关闭)函数的第一行添加$('.nav li.dropdown').removeClass('open');,这样如果您有多个下拉菜单,它会隐藏其他可能打开的下拉菜单。
      【解决方案4】:

      您只需使用 css 就可以做到这一点。在按钮下拉的情况下。

         <div class="btn-group btn-hover-group">
            <a href="#" id="selected" class="btn btn-default editor-submit">Action 1</a>
            <a href="#" class="btn btn-default dropdown-toggle"></a>
            <ul class="dropdown-menu pull-right">
              <li><a href="#" id="all" class="editor-submit">Action 2</a></li>
              <li><a href="#" id="matching" class="editor-submit">Action 3</a></li>
            </ul>
          </div>
      

      &lt;a href="#" class="btn btn-default dropdown-toggle"&gt;&lt;/a&gt; 中删除了data-toggle="dropdown"

      .btn-hover-group > a:hover ~ ul{
       display:block;
      }
      .btn-hover-group > .dropdown-menu:hover{
       display:block;
      }
      

      我希望这足以满足您的目的。

      【讨论】:

        【解决方案5】:

        你可以像这样使用 bootstrap 4..

        <div class="dropdown">
          <button class="dropbtn">Dropdown</button>
          <div class="dropdown-content">
            <a href="#">Link 1</a>
            <a href="#">Link 2</a>
            <a href="#">Link 3</a>
          </div>
        </div>
        

        然后定义下面的类属性值..它应该可以工作

        .dropbtn {
            background-color: #4CAF50;
            color: white;
            padding: 16px;
            font-size: 16px;
            border: none;
        }
        
        .dropdown {
            position: relative;
            display: inline-block;
        }
        
        .dropdown-content {
            display: none;
            position: absolute;
            background-color: #f1f1f1;
            min-width: 160px;
            box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
            z-index: 1;
        }
        
        .dropdown-content a {
            color: black;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
        }
        .dropdown:hover .dropdown-content {display: block;}
        

        【讨论】:

          猜你喜欢
          • 2020-07-15
          • 2012-02-11
          • 2018-07-01
          • 2020-06-07
          • 1970-01-01
          • 2019-12-31
          • 2019-10-30
          • 2017-10-24
          • 2022-07-13
          相关资源
          最近更新 更多