Bootstrap 3垂直菜单,带有可切换的子菜单

Gus*_*avo 7 menu submenu twitter-bootstrap-3

使用Bootstrap 3,我需要构建一个包含可切换子菜单的垂直菜单.我有以下结构:

<nav>
    <ul>
        <li><a href="#">Item 1</a></li>
        <li><a href="#">Item 2 (toggle)</a>
            <ul>
                <li><a href="#">Item 2.1</a></li>
                <li><a href="#">Item 2.2</a></li>
                <li><a href="#">Item 2.3</a></li>
            </ul>
        </li>
        <li><a href="#">Item 3</a></li>
        <li><a href="#">Item 4</a></li>
    </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

我希望默认情况下隐藏"项目2"中的UL,并按"项目2"取消隐藏/隐藏它.

Gus*_*avo 35

使垂直子菜单可切换的关键是使用属性data-toggle ="collapse"而不是navs data-toggle ="dropdown"中最常用的属性.

我准备了这个jsfiddle示例,这是wordking代码:

<nav>
    <ul class="nav">
      <li><a href="#">Link 1</a></li>
    <li><a href="#" id="btn-1" data-toggle="collapse" data-target="#submenu1" aria-expanded="false">Link 2 (toggle)</a>
      <ul class="nav collapse" id="submenu1" role="menu" aria-labelledby="btn-1">
        <li><a href="#">Link 2.1</a></li>
        <li><a href="#">Link 2.2</a></li>
        <li><a href="#">Link 2.3</a></li>
      </ul>
    </li>
    <li><a href="#">Link 3</a></li>
    <li><a href="#">Link 4</a></li>
  </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)


eye*_*der 6

有时您需要菜单项链接和子菜单项的切换.

这是一个测试:

/* CSS */

.toggle-custom {
  position: absolute !important;
  top: 0;
  right: 0;
}
.toggle-custom[aria-expanded='true'] .glyphicon-plus:before {
  content: "\2212";
}
Run Code Online (Sandbox Code Playgroud)
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript" ></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" type="text/javascript" ></script>

<nav>
  <ul class="nav">
    <li><a href="#">Link 1</a>
    </li>
    <li><a href="#">Link 2</a><a href="#" class="toggle-custom" id="btn-1" data-toggle="collapse" data-target="#submenu1" aria-expanded="false"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
      <ul class="nav collapse" id="submenu1" role="menu" aria-labelledby="btn-1">
        <li><a href="#">Link 2.1</a>
        </li>
        <li><a href="#">Link 2.2</a>
        </li>
        <li><a href="#">Link 2.3</a>
        </li>
      </ul>
    </li>
    <li><a href="#">Link 3</a>
    </li>
  </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/zoxqpftc/461/