Side Navbar Submenu - Scrollspy
HTML
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css">
<div class="row">
<!--Nav Bar -->
<nav class="col-xs-3 bs-docs-sidebar hidden-print">
<ul class="nav nav-stacked fixed" id="sidebar">
<li>
<a href="#GroupA">Group A</a>
<ul class="nav nav-stacked" >
<li><a href="#GroupASub1">Sub-Group 1</a></li>
<li><a href="#GroupASub2">Sub-Group 2</a></li>
</ul>
</li>
<li>
<a href="#GroupB">Group B</a>
<ul class="nav nav-stacked" >
<li><a href="#GroupBSub1">Sub-Group 1</a></li>
<li><a href="#GroupBSub2">Sub-Group 2</a></li>
</ul>
</li>
<li>
<a href="#GroupC">Group C</a>
<ul class="nav nav-stacked" >
<li><a href="#GroupCSub1">Sub-Group 1</a></li>
<li><a href="#GroupCSub2">Sub-Group 2</a></li>
</ul>
</li>
</ul>
</nav>
<!--Main Content -->
<div class="col-xs-9">
<section id="GroupA" class="group">
<h3>Group A</h3>
<div id="GroupASub1" class="subgroup">
<h4>Group A Sub 1</h4>
</div>
<div id="GroupASub2" class="subgroup">
<h4>Group A Sub 2</h4>
</div>
</section>
<section id="GroupB" class="group">
<h3>Group B</h3>
<div id="GroupBSub1" class="subgroup">
<h4>Group B Sub 1</h4>
</div>
<div id="GroupBSub2" class="subgroup">
<h4>Group B Sub 2</h4>
</div>
</section>
<section...
CSS
.group {
background: yellow;
width: 200px;
height: 500px;
}
.group .subgroup {
background: orange;
width: 150px;
height: 200px;
}
.fixed {
position: fixed;
}
.bs-docs-sidebar {
padding-left: 20px;
margin-top: 20px;
margin-bottom: 20px;
}
.bs-docs-sidebar .nav>li>a {
display: block;
font-size: 13px;
font-weight: 500;
color: #999;
padding: 4px 20px;
}
.bs-docs-sidebar .nav>li>a:hover,
.bs-docs-sidebar .nav>li>a:focus {
padding-left: 19px; /*indent from left */
color: #563d7c; /*highlight color */
text-decoration: none; /*turn off underline */
background-color: transparent; /*turn off selection color */
border-left: 1px solid #563d7c; /*add left cursor */
}
.bs-docs-sidebar .nav>.active>a,
.bs-docs-sidebar .nav>.active:hover>a,
.bs-docs-sidebar .nav>.active:focus>a {
padding-left: 18px;
font-weight: 700;
color: #563d7c;
background-color: transparent;
border-left: 2px solid #563d7c;
}
.bs-docs-sidebar .nav .nav {
display: none; /*hide nested list */
}
.bs-docs-sidebar .nav>.active>ul {
display: block; /*show list when active */
padding-bottom: 10px; /*add a little buffer */
}
.bs-docs-sidebar .nav .nav>li>a {
padding-top: 1px;
padding-bottom: 1px;
padding-left: 30px;
font-size: 12px;
font-weight: 400;
}
.bs-docs-sidebar .nav .nav>li>a:hover,
.bs-docs-sidebar .nav .nav>li>a:focus {
padding-left: 60px;
}
.bs-docs-sidebar .nav .nav>.active>a,
.bs-docs-sidebar .nav .nav>.active:hover>a,
.bs-docs-sidebar .nav .nav>.active:focus>a {
font-weight: 500;
padding-left: 28px;
color: red;
}
JavaScript
$('body').scrollspy({
target: '#sidebar'
});