Twitter Bootstrap:如何创建一个带有手风琴的下拉按钮?

 信步老街 发布于 2023-02-13 14:43

在Twitter Bootstrap中,我正在尝试创建一个带有手风琴的按钮下拉列表.

目的是以简洁的形式呈现一长串项目(即避免用户长时间向下滚动).

在dropdown div中包含手风琴div的简单方法不起作用..:


任何想法如何实现这一点?

1 个回答
  • 您可以使用以下方法在下拉列表中插入手风琴:

    Bootstrap Dropdown组件

    Bootstrap折叠组件

    您需要添加几行JS以防止Dropdown事件破坏崩溃事件.

    Bootply上的工作示例

    <div class="dropdown dropdown-accordion" data-accordion="#accordion">
      <a data-toggle="dropdown" href="#" class="btn btn-primary">Dropdown trigger <span class="caret"></span></a>
      <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
        <li>
          <div class="panel-group" id="accordion">
            <div class="panel panel-default">
              <div class="panel-heading">
                <h4 class="panel-title">
                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                    Unit 1
                  </a>
                </h4>
              </div>
              <div id="collapseOne" class="panel-collapse collapse">
                <div class="panel-body">
                  <a href="#">Item a</a><br>
                  <a href="#">Item b</a>
                </div>
              </div>
            </div>
            <div class="panel panel-default">
              <div class="panel-heading">
                <h4 class="panel-title">
                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
                    Unit 2
                  </a>
                </h4>
              </div>
              <div id="collapseTwo" class="panel-collapse collapse">
                <div class="panel-body">
                  <a href="#">Item a</a><br>
                  <a href="#">Item b</a><br>
                  <a href="#">Item c</a>
                </div>
              </div>
            </div>
          </div>
        </li>
      </ul>
    </div>
    
    .dropdown-accordion .panel-heading {
      padding: 0;
    }
    .dropdown-accordion .panel-heading a {
      display: block;
      padding: 10px 15px;
    }
    
    // Collapse accordion every time dropdown is shown
    $('.dropdown-accordion').on('show.bs.dropdown', function (event) {
      var accordion = $(this).find($(this).data('accordion'));
      accordion.find('.panel-collapse.in').collapse('hide');
    });
    
    // Prevent dropdown to be closed when we click on an accordion link
    $('.dropdown-accordion').on('click', 'a[data-toggle="collapse"]', function (event) {
      event.preventDefault();
      event.stopPropagation();
      $($(this).data('parent')).find('.panel-collapse.in').collapse('hide');
      $($(this).attr('href')).collapse('show');
    })
    

    2023-02-13 14:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有