Multi-level Hamburger Navigation Plugin - jQuery mlStackNav
| File Size: | 55.4 KB |
|---|---|
| Views Total: | 2683 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
mlStackNav is a jQuery plugin to create customizable, accessible, easy-to-use, mobile-friendly, multi-level stack navigation menu with slide effects. The sub menu will be stacked on the top of its parent similar to the drilldown menu.
How to use it:
1. Add jQuery JavaScript library and the mlStackNav plugin's files to the web page.
<link rel="stylesheet" href="dist/ml-stack-nav.min.css">
<link rel="stylesheet" href="dist/ml-stack-nav-theme.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous">
</script>
<script src="dist/ml-stack-nav.min.js"></script>
2. Add the hamburger nav toggle to the web page.
<button type="button" class="ml-stack-nav-toggle"> <span class="ml-stack-nav-toggle__line"></span> <span class="ml-stack-nav-toggle__line"></span> <span class="ml-stack-nav-toggle__line"></span> </button>
3. Create nested HTML lists for the multi-level navigation.
<nav class="ml-stack-nav js-ml-stack-nav">
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<div class="ml-stack-nav__item-inner"> <a href="" class="ml-stack-nav__link"> Item 1 </a>
<button class="ml-stack-nav__next js-ml-stack-nav-next" type="button" title="Go to the next level">→</button>
</div>
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<button class="ml-stack-nav__back js-ml-stack-nav-back" type="button" title="Go to the previous level">← Back</button>
</li>
<li class="ml-stack-nav__item">
<div class="ml-stack-nav__item-inner"> <a href="" class="ml-stack-nav__link"> Item 1 level 2 </a>
<button class="ml-stack-nav__next js-ml-stack-nav-next" type="button" title="Go to the next level">→</button>
</div>
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<button class="ml-stack-nav__back js-ml-stack-nav-back" type="button" title="Go to the previous level">← Back</button>
</li>
<li class="ml-stack-nav__item">
<div class="ml-stack-nav__item-inner"> <a href="" class="ml-stack-nav__link"> Item 1 level 3 </a>
<button class="ml-stack-nav__next js-ml-stack-nav-next" type="button" title="Go to the next level">→</button>
</div>
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<button class="ml-stack-nav__back js-ml-stack-nav-back" type="button" title="Go to the previous level">← Back</button>
</li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 1 level 4 </a> </li>
</ul>
</li>
</ul>
</li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 2 </a> </li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 3 </a></li>
</ul>
</li>
<li class="ml-stack-nav__item">
<div class="ml-stack-nav__item-inner"> <a href="" class="ml-stack-nav__link"> Item 2 </a>
<button class="ml-stack-nav__next js-ml-stack-nav-next" type="button" title="Go to the next level">→</button>
</div>
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<button class="ml-stack-nav__back js-ml-stack-nav-back" type="button" title="Go to the previous level">← Back</button>
</li>
<li class="ml-stack-nav__item">
<div class="ml-stack-nav__item-inner"> <a href="" class="ml-stack-nav__link"> Item 1 level 2 </a>
<button class="ml-stack-nav__next js-ml-stack-nav-next" type="button" title="Go to the next level">→</button>
</div>
<ul class="ml-stack-nav__menu">
<li class="ml-stack-nav__item">
<button class="ml-stack-nav__back js-ml-stack-nav-back" type="button" title="Go to the previous level">← Back</button>
</li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 2 level 3 </a> </li>
</ul>
</li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 2 </a> </li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 3 </a></li>
</ul>
</li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 3 </a> </li>
<li class="ml-stack-nav__item"> <a href="" class="ml-stack-nav__link"> Item 4 </a></li>
</ul>
<!-- /.ml-stack-nav__menu -->
</nav>
4. Initialize the jQuery mlStackNav and done.
$(".js-ml-stack-nav").mlStackNav();
5. Default configuration options.
$(".js-ml-stack-nav").mlStackNav({
navToggleSelector: ".ml-stack-nav-toggle",
openClass: "is-open",
activeClass: "is-active",
zIndexValue: 900
});
Change log:
2018-02-26
- v1.1
2018-02-25
- Add basic aria attributes
This awesome jQuery plugin is developed by damianwajer. For more Advanced Usages, please check the demo page or visit the official website.











