Sticky Exanding Hamburger Menu With jQuery And CSS3
| File Size: | 4.94 KB |
|---|---|
| Views Total: | 7280 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A jQuery based responsive navigation system that collapses the regular horizontal menu into an expanding hamburger menu on small screen (mobile) devices.
How to use it:
1. The hamburger toggle button requires the latest Font Awesome iconic font.
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.0.10/css/all.css"
integrity="sha384-+d0P83n9kaQMCwj8F4RJB66tzIwOKmrdb46+porD/OvrJ+37WqIM7UoBtwHO6Nlg"
crossorigin="anonymous">
2. Create a standard site navigation from an unordered list.
<nav>
<div class="menu-bars">
<i class="fas fa-bars fa-2x"></i>
</div>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">jQuery</a></li>
<li><a href="#">Script</a></li>
<li><a href="#">Net</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">About</a></li>
</ul>
</nav>
3. The primary CSS styles for the navigation when running on the desktop.
nav ul{
width: 100%;
background-color: #ac5463;
overflow: hidden;
color: #fff;
padding: 0;
text-align: center;
margin: 0;
transition: all 1s ease-in-out;
}
nav ul li{
display: inline-block;
padding: 20px;
}
nav ul li a{
text-decoration: none;
color: inherit;
}
nav ul li:hover {
background-color: #ac5480;
}
.menu-bars{
width: 100%;
background-color: #005c48;
text-align: right;
box-shadow: border-box;
padding: 20px 0px;
cursor: pointer;
color: #fff;
display: none;
}
.menu-bars .fas{
margin-right: 20px;
}
4. The CSS rules for the expanding hamburger menu when running on the mobile. Override the max-width value to specify the breakpoint you prefer.
@media screen and (max-width: 812px){
nav ul{
max-height: 0px;
position: fixed;
top: 4.5em;
}
nav ul li{
box-sizing: border-box;
width: 100%;
padding: 15px;
text-align: left;
}
.menu-bars{
display: block;
position: fixed;
top: 0;
}
.showing{
max-height: 20em;
position: fixed;
top: 4.5em;
}
}
5. Load the latest version of jQuery JavaScript library at the end of the document.
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT"
crossorigin="anonymous">
</script>
6. Show/hide the expanding hamburger menu by toggling the CSS classes with jQuery.
$(document).ready(function(){
$(".menu-bars").on("click", function(){
$("nav ul").toggleClass("showing");
});
$("nav ul li").on("click", function(){
$("nav ul").removeClass("showing");
});
});
This awesome jQuery plugin is developed by vgarmy. For more Advanced Usages, please check the demo page or visit the official website.











