Mobile-Aware Responsive Dropdown Menu with jQuery - simpleMobileMenu

File Size: 2.94 KB
Views Total: 1653
Last Update:
Publish Date:
Official Website: Go to website
License: MIT
Mobile-Aware Responsive Dropdown Menu with jQuery - simpleMobileMenu

A simple jQuery plugin that turns a horizontal navigation menu into a dropdown toggle menu when the screen size reaches a breakpoint set at 768px.

How to use it:

1. Include the latest version jQuery library at the end of your document.

<script src="//"></script>

2. Create a navigation menu using Html unordered list.

  <button id="mobile-nav-trigger">Toggle Menu</button>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Portfolio</a></li>
    <li><a href="#">Awesome Blog</a></li>
    <li><a href="#">Contact</a></li>

3. A little CSS to style the navigation menu.

nav {
  font-size: 1.2em;
  background-color: #27ae60;

#mobile-nav-trigger {
  display: none;
  width: 100%;
  padding: 20px;
  font-size: inherit;
  font-weight: bold;
  letter-spacing: 2.5px;
  border: 0;
  cursor: pointer;
  color: #fff;
  background-color: inherit;
} { background-color: #2ecc71; }

nav ul {
  overflow: hidden;
  margin: 0;
  padding: 0;
  list-style: none;

nav li { float: left; }

nav li a {
  display: block;
  padding: 15px;
  text-decoration: none;
  color: #fff;

nav li a:hover {
  background-color: #2ecc71;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
 @media screen and (max-width: 768px) {

nav li {
  float: none;
  text-align: center;
  border-top: 1px solid #fff;

4. The Javascript to enable the mobile-aware menu.

$(document).ready(function() {
var breakpoint  = 768;
var $window     = $(window);
var $navul      = $('nav ul');
var $navtrigger = $('#mobile-nav-trigger');

$navtrigger.on('click', function() { 
var $that = $(this);

$that.prop('disabled', true);

$navul.slideToggle(function() {
$that.toggleClass('active').prop('disabled', false);

if ($window.width() <= breakpoint) {

$window.on('resize', function() {
if ($window.width() <= breakpoint) {
if ($':hidden')) {
} else {
if ($':visible')) {

This awesome jQuery plugin is developed by Bszulc. For more Advanced Usages, please check the demo page or visit the official website.