How To Close All Other Open Sub-menu When Other Parent Menu Item Is Clicked?
I am using this code LINK. When i click on Parent Menu like Services then sub-menu of services menu will be open but when i click on other menu then other sub menu will also open.
Solution 1:
Basically you need to know the concept of not()
in jQuery, so that you can hide the element except clicked one. Here is the working example.
$('#menu-content').children("li").on('click', function(){
$("li[data-toggle='collapse']").not(this).addClass('collapsed');
$("li[data-toggle='collapse']").not(this).next('ul').removeClass('in');
//alert('clicked');
});
.nav-side-menu {
overflow: auto;
font-family: verdana;
font-size: 12px;
font-weight: 200;
background-color: #2e353d;
position: fixed;
top: 0px;
width: 300px;
height: 100%;
color: #e1ffff;
}
.nav-side-menu.brand {
background-color: #23282e;
line-height: 50px;
display: block;
text-align: center;
font-size: 14px;
}
.nav-side-menu.toggle-btn {
display: none;
}
.nav-side-menuul,
.nav-side-menuli {
list-style: none;
padding: 0px;
margin: 0px;
line-height: 35px;
cursor: pointer;
/*
.collapsed{
.arrow:before{
font-family: FontAwesome;
content: "\f053";
display: inline-block;
padding-left:10px;
padding-right: 10px;
vertical-align: middle;
float:right;
}
}
*/
}
.nav-side-menuul:not(collapsed) .arrow:before,
.nav-side-menuli:not(collapsed) .arrow:before {
font-family: FontAwesome;
content: "\f078";
display: inline-block;
padding-left: 10px;
padding-right: 10px;
vertical-align: middle;
float: right;
}
.nav-side-menuul.active,
.nav-side-menuli.active {
border-left: 3px solid #d19b3d;
background-color: #4f5b69;
}
.nav-side-menuul.sub-menuli.active,
.nav-side-menuli.sub-menuli.active {
color: #d19b3d;
}
.nav-side-menuul.sub-menuli.activea,
.nav-side-menuli.sub-menuli.activea {
color: #d19b3d;
}
.nav-side-menuul.sub-menuli,
.nav-side-menuli.sub-menuli {
background-color: #181c20;
border: none;
line-height: 28px;
border-bottom: 1px solid #23282e;
margin-left: 0px;
}
.nav-side-menuul.sub-menuli:hover,
.nav-side-menuli.sub-menuli:hover {
background-color: #020203;
}
.nav-side-menuul.sub-menuli:before,
.nav-side-menuli.sub-menuli:before {
font-family: FontAwesome;
content: "\f105";
display: inline-block;
padding-left: 10px;
padding-right: 10px;
vertical-align: middle;
}
.nav-side-menuli {
padding-left: 0px;
border-left: 3px solid #2e353d;
border-bottom: 1px solid #23282e;
}
.nav-side-menulia {
text-decoration: none;
color: #e1ffff;
}
.nav-side-menuliai {
padding-left: 10px;
width: 20px;
padding-right: 20px;
}
.nav-side-menuli:hover {
border-left: 3px solid #d19b3d;
background-color: #4f5b69;
-webkit-transition: all 1s ease;
-moz-transition: all 1s ease;
-o-transition: all 1s ease;
-ms-transition: all 1s ease;
transition: all 1s ease;
}
@media (max-width: 767px) {
.nav-side-menu {
position: relative;
width: 100%;
margin-bottom: 10px;
}
.nav-side-menu.toggle-btn {
display: block;
cursor: pointer;
position: absolute;
right: 10px;
top: 10px;
z-index: 10!important;
padding: 3px;
background-color: #ffffff;
color: #000;
width: 40px;
text-align: center;
}
.brand {
text-align: left !important;
font-size: 22px;
padding-left: 20px;
line-height: 50px!important;
}
}
@media (min-width: 767px) {
.nav-side-menu.menu-list.menu-content {
display: block;
}
}
body {
margin: 0px;
padding: 0px;
}
<linkhref="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"id="bootstrap-css"><scriptsrc="//code.jquery.com/jquery-1.11.1.min.js"></script><scriptsrc="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script><!------ Include the above in your HEAD tag ----------><linkhref="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" ><divclass="nav-side-menu"><divclass="brand">Brand Logo</div><iclass="fa fa-bars fa-2x toggle-btn"data-toggle="collapse"data-target="#menu-content"></i><divclass="menu-list"><ulid="menu-content"class="menu-content collapse out"><li><ahref="#"><iclass="fa fa-dashboard fa-lg"></i> Dashboard
</a></li><lidata-toggle="collapse"data-target="#products"class="collapsed active"><ahref="#"><iclass="fa fa-gift fa-lg"></i> UI Elements <spanclass="arrow"></span></a></li><ulclass="sub-menu collapse"id="products"><liclass="active"><ahref="#">CSS3 Animation</a></li><li><ahref="#">General</a></li><li><ahref="#">Buttons</a></li><li><ahref="#">Tabs & Accordions</a></li><li><ahref="#">Typography</a></li><li><ahref="#">FontAwesome</a></li><li><ahref="#">Slider</a></li><li><ahref="#">Panels</a></li><li><ahref="#">Widgets</a></li><li><ahref="#">Bootstrap Model</a></li></ul><lidata-toggle="collapse"data-target="#service"class="collapsed"><ahref="#"><iclass="fa fa-globe fa-lg"></i> Services <spanclass="arrow"></span></a></li><ulclass="sub-menu collapse"id="service"><li>New Service 1</li><li>New Service 2</li><li>New Service 3</li></ul><lidata-toggle="collapse"data-target="#new"class="collapsed"><ahref="#"><iclass="fa fa-car fa-lg"></i> New <spanclass="arrow"></span></a></li><ulclass="sub-menu collapse"id="new"><li>New New 1</li><li>New New 2</li><li>New New 3</li></ul><li><ahref="#"><iclass="fa fa-user fa-lg"></i> Profile
</a></li><li><ahref="#"><iclass="fa fa-users fa-lg"></i> Users
</a></li></ul></div></div>
Post a Comment for "How To Close All Other Open Sub-menu When Other Parent Menu Item Is Clicked?"