【问题标题】:Bootstrap prevent multiple collapsable elements from being open at the same timeBootstrap 防止多个可折叠元素同时打开
【发布时间】:2018-05-10 19:39:32
【问题描述】:

我有以下 html 侧边栏菜单:

<li {{{ (Request::is('bookings/*') }}} data-toggle="collapse" data-target="#bookings">
    <a href="#" id="bookings-menu-item"><i class="fa fa-address-book" aria-hidden="true"></i> Bookings <i class="fa fa-chevron-down" aria-hidden="true"></i></a>
</li>   
<ul class="sub-menu collapse"  id="bookings">
    <li class="collapsed"><a href="{{ route('bookings') }}">All Bookings</a></li>
    <li class="collapsed" ><a href="{{ route('bookings.create') }}">Add New</a></li>
</ul>

<li {{{ (Request::is('bookings/*') || Request::is('bookings') ? 'class=active' : '') }}} data-toggle="collapse" data-target="#item2">
   <a href="#" id="bookings-menu-item"><i class="fa fa-address-book" aria-hidden="true"></i> Item 2 <i class="fa fa-chevron-down" aria-hidden="true"></i></a>
</li>   
<ul class="sub-menu collapse"  id="item2">
    <li {{{ (Request::is('bookings') ? 'class=active' : 'collapsed') }}}><a href="{{ route('bookings') }}">All Bookings</a></li>
    <li {{{ (Request::is('bookings/create') ? 'class=active' : 'collapsed') }}} ><a href="{{ route('bookings.create') }}">Add New</a></li>
</ul>

这是一个基本的 Bootstrap 折叠菜单,其中包含一个在单击 li 元素时展开的子菜单。

我的问题是假设我有 2 或 3 个这些菜单项都有子菜单。有可能它们都可以同时打开,我不喜欢这样,因为随着高度的增加,这会强制滚动溢出,然后显示侧面菜单的滚动条。

有没有办法防止多个元素在 Bootstrap 中展开?

如果有帮助,我正在使用 Laravel 5。

【问题讨论】:

  • 据我所知,您实际上希望当时只打开一个菜单...如果打开了一个菜单,那么之前的必须同时关闭?
  • @lewis4u 是的,没错。
  • 喜欢这个? w3schools.com/bootstrap/…
  • 是的,基本上就是这样,但唯一的区别是我没有使用面板。
  • 是的...诀窍就在这个&lt;a data-toggle="collapse" data-parent="#accordion" href="#collapse1"&gt;

标签: php html twitter-bootstrap laravel collapsable


【解决方案1】:

我认为这应该对您有所帮助,只需稍微尝试一下以使其适应您的需求:

<div class="row">
    <div class="col">
        <ul class="nav nav-stacked" id="accordion1">
            <li class="panel"> <a data-toggle="collapse" data-parent="#accordion1" href="#firstLink">Test12</a>

                <ul id="firstLink" class="collapse">
                    <li>SubTest1</li>
                    <li>SubTest1</li>
                    <li>SubTest1</li>
                </ul>

            </li>
            <li class="panel"> <a data-toggle="collapse" data-parent="#accordion1" href="#secondLink">Test2</a>

                <ul id="secondLink" class="collapse">
                    <li>SubTest2</li>
                    <li>SubTest2</li>
                    <li>SubTest2</li>
                    <li>SubTest2</li>
                </ul>
            </li>
        </ul>
    </div>
</div>

看这里

https://codepen.io/anon/pen/ZaMOxN

【讨论】:

  • 谢谢。花了一些时间来适应它,但它完成了工作。
猜你喜欢
  • 2013-12-01
  • 2021-01-20
  • 2019-09-02
  • 1970-01-01
  • 2015-02-09
  • 2014-07-26
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多