Accessible Mobile-friendly Drill Down Menu - jQuery Menu Level
| File Size: | 8.5 KB |
|---|---|
| Views Total: | 1812 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
The Menu Level jQuery plugin generates an accessible, semantic, mobile-friendly, smoothly sliding drill down navigation menu from a nested nav list. It provides a user-friendly interface and better user experiences for multi-level site navigation.
Once a menu item is clicked, the submenu items will slide into the current menu interface from the right.
How to use it:
1. Insert jQuery library and the Menu level plugin's files into the html file.
<link rel="stylesheet" href="src/menu-level.css"> <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script> <script src="src/jquery.menu-level.js"></script>
2. Create a multi-level site navigation from a nav list.
<nav class="nav" role="navigation">
<ul>
<li>
<a href="#">Menu Item A</a>
<ul>
<li>
<a href="#">Menu Item A, subMenu 2</a>
<ul>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">Menu Item A, subMenu 2</a>
<ul>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">Menu Item A, subMenu 2</a>
<ul>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
<li><a href="#">Menu Item A2, subMenu 3</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Menu Item B</a>
<ul>
<li>
<a href="#">A Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">B Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">C Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Menu Item C</a>
<ul>
<li>
<a href="#">A Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">B Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
<li>
<a href="#">C Lorem ipsum subMenu 2</a>
<ul>
<li><a href="#">A Lorem ipsum subMenu 3</a></li>
<li><a href="#">B Lorem ipsum subMenu 3</a></li>
<li><a href="#">C Lorem ipsum subMenu 3</a></li>
<li><a href="#">D Lorem ipsum subMenu 3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
3. Initailize the plugin by calling the function on the nav.
var $menu = $('.nav').$menu.menuLevel();
4. Go to the first level.
$menu.trigger('go-to-first-panel.mlvl');
5. Destroy the plugin.
$menu.trigger('destroy.mlvl');
6. Possible plugin options with default values.
var $menu = $('.nav').$menu.menuLevel({
prefix: 'mlvl',
sublevel: 'ul ul',
repeatParentInSub: true,
backLabel: 'parent',
backAriaLabel: 'Back'
});
7. Execute a function when the menu level changes.
var $menu = $('.nav').$menu.menuLevel({
onNav: function(){
// ...
}
});
This awesome jQuery plugin is developed by cyril-lamotte. For more Advanced Usages, please check the demo page or visit the official website.











