jQuery MMenu open to Sub Menu
jQuery MMenu open to Sub Menu with Bootstrap NAV drop down
by megaadriano
HTML
<div class="container">
<!-- Static navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">Project name</a>
</div>
<div id="navbar" >
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="javascript:setMMenu('#top');openMMenu();">Menu</a></li>
<li><a href="javascript:setMMenu('#Option-2');openMMenu();">Option 2</a></li>
<li><a href="javascript:setMMenu('#Option-2-2');openMMenu();">Option 2-2</a></li>
<li><a href="javascript:setMMenu('#Option-3');openMMenu();">Option 3</a></li>
<li><a href="javascript:setMMenu('#Option-3-3');openMMenu();">Option 3-3</a></li>
<li><a href="javascript:setMMenu('#Option-3-3-2');openMMenu();">Option 3-3-2</a></li>
</ul>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
<!--/.container-fluid -->
</nav>
<!-- The menu -->
<nav id="menu">
<ul >
<li id="top"><a href="#">Option 1</a></li>
<li ><span>Option 2</span>
<ul id="Option-2">
<li ><a href="#">Option 2-1</a></li>
<li ><span>Option 2-2</span>
<ul id="Option-2-2">
<li ><a href="#">Option 2-2-1</a></li>
<li><a href="#">Option 2-2-2</a></li>
<li><a href="#">Option 2-2-3</a></li>
</ul>
</li>
<li><a href="#">Option 2-3</a></li>
</ul>
</li>
<li><span>Option 3</span>
<ul id="Option-3">
<li><a href="#">Option 3-1</a></li>
<li><a href="#">Option 3-2</a></li>
<li><span>Option 3-3</span>
<ul...
CSS
@import url("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/5.6.1/css/jquery.mmenu.all.css");
JavaScript
var myMenu = $("#menu");
var $main = $("#menu").find( ".mm-panel" ).first();
// initialize mmenu
myMenu.mmenu({});
// initialize mmenu API
var myMenuAPI = myMenu.data( "mmenu" );
myMenuAPI.bind( 'init', function( $panels ) {
$panels.each(function() {
if ($(this)[ 0 ] !== main[ 0 ] ) {
$(this).find( ".mm-prev" ).text( "Back" );
}
});
} );
// function to set to specific subMenu
function setMMenu(subMenu) {
// set to subMenu
var current = myMenu.find(subMenu);
// myMenuAPI.setSelected(current.first());
myMenuAPI.openPanel(current.closest(".mm-panel"));
}
// function to open mmmenu to specific subMenu
function openMMenu() {
myMenuAPI.open();
}