"Sidebar Menu Group Tree"
Bootstrap 2.3.2 Snippet by rvkone

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<div class="container">
<div class="row">
<div id="left" class="span3">
<ul id="menu-group-1" class="nav menu">
<li class="item-1 deeper parent active">
<a class="" href="#">
<span data-toggle="collapse" data-parent="#menu-group-1" href="#sub-item-1" class="sign"><i class="icon-plus icon-white"></i></span>
<span class="lbl">Menu Group i</span>
</a>
<ul class="children nav-child unstyled small collapse" id="sub-item-1">
<li class="item-2 deeper parent active">
<a class="" href="#">
<span data-toggle="collapse" data-parent="#menu-group-1" href="#sub-item-2" class="sign"><i class="icon-plus icon-white"></i></span>
<span class="lbl">Menu 1</span>
</a>
<ul class="children nav-child unstyled small collapse" id="sub-item-2">
<li class="item-3 current active">
<a class="" href="#">
<span class="sign"><i class="icon-play"></i></span>
<span class="lbl">Menu 1.1</span> (current menu)
</a>
</li>
<li class="item-4">
<a class="" href="#">
<span class="sign"><i class="icon-play"></i></span>
<span class="lbl">Menu 1.2</span>
</a>
</li>
</ul>
</li>
<li class="item-5 deeper parent">
<a class="" href="#">
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* MENU-LEFT
-------------------------- */
/* layout */
#left ul.nav {
margin-bottom: 2px;
font-size: 12px; /* to change font-size, please change instead .lbl */
}
#left ul.nav ul,
#left ul.nav ul li {
list-style: none!important;
list-style-type: none!important;
margin-top: 1px;
margin-bottom: 1px;
}
#left ul.nav ul {
padding-left: 0;
width: auto;
}
#left ul.nav ul.children {
padding-left: 12px;
width: auto;
}
#left ul.nav ul.children li{
margin-left: 0px;
}
#left ul.nav li a:hover {
text-decoration: none;
}
#left ul.nav li a:hover .lbl {
color: #999!important;
}
#left ul.nav li.current>a .lbl {
background-color: #999;
color: #fff!important;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
!function ($) {
// Le left-menu sign
/* for older jquery version
$('#left ul.nav li.parent > a > span.sign').click(function () {
$(this).find('i:first').toggleClass("icon-minus");
}); */
$(document).on("click","#left ul.nav li.parent > a > span.sign", function(){
$(this).find('i:first').toggleClass("icon-minus");
});
// Open Le current menu
$("#left ul.nav li.parent.active > a > span.sign").find('i:first').addClass("icon-minus");
$("#left ul.nav li.current").parents('ul.children').addClass("in");
}(window.jQuery);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Related: See More


Questions / Comments:

How can I do when I click on the first plus or the second changes the background-image?

Ángel Peralta May () - 7 years ago - Reply 0


Good job! but i see a less when i pressed the second plus (behind of plus)

Greg Llanos () - 10 years ago - Reply 0


Very nice ! Is there jq code to turn ul into this ?

mikijupp () - 11 years ago - Reply 0