SEO-friendly Vertical Accordion Menu With jQuery
| File Size: | 2.8 KB |
|---|---|
| Views Total: | 2467 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A responsive, semantic, SEO-friendly, multi-level, accordion-style sidebar (dropdown) navigation system written in jQuery, CSS and HTML unordered list.
How to use it:
1. Code the HTML for the accordion menu. The script supports up to 2 levels of menus based on nested HTML lists as follows:
<div class="accordion-menu">
<ul class="menu">
<li><a href="#">Element 1</a></li>
<li><a href="#">Element 2 <ANY SUB-MENU INDICATOR HERE></a>
<ul>
<li><a href="#">Sub-Element #1</a></li>
<li><a href="#">Sub-Element #2</a></li>
<li><a href="#">Sub-Element #3</a></li>
</ul>
</li>
<li><a href="#">Element 3</a></li>
</ul>
</div>
2. Apply the CSS styles to the accordion menu.
.btnMenu { display: none; padding: 20px; display: block; background: #1abc9c; color: #fff; } .accordion-menu { width: 20%; min-width: 300px; margin: 50px; display: inline-block; line-height: 18px; } .accordion-menu .menu { width: 100%; } .accordion-menu ul { list-style: none; } .accordion-menu .menu li a { color: #494949; display: block; padding: 15px 20px; background: #e9e9e9; } .accordion-menu .menu li a:hover { background: #16a085; color: #fff; } .accordion-menu .menu i.fa { font-size: 12px; line-height: 18px; float: right; margin-left: 10px; } .accordion-menu .menu ul { display: none; } .accordion-menu .menu ul li a { background: #424242; color: #e9e9e9; } .accordion-menu .menu .active > a { background: #16a085; color: #fff; }
3. Insert the necessary jQuery library into the document.
<script src="/path/to/jquery.min.js"></script>
4. The jQuery script to enable the accordion menu.
$(document).ready(function() {
$('.menu li:has(ul)').click(function(e) {
e.preventDefault();
if($(this).hasClass('active')) {
$(this).removeClass('active');
$(this).children('ul').slideUp();
} else {
$('.menu li ul').slideUp();
$('.menu li').removeClass('active');
$(this).addClass('active');
$(this).children('ul').slideDown();
}
$('.menu li ul li a').click(function() {
window.location.href = $(this).attr('href');
})
});
});
This awesome jQuery plugin is developed by FelixAVeras. For more Advanced Usages, please check the demo page or visit the official website.











