🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

pushMenu is a jQuery plugin used to create an App-style multilevel push menu for your web project.

push-menu

Documentation

jQuery pushMenu (jQuery.pushMenu.js)

v2.0.8

pushMenu is based on Manoela llic's Multi Level Push Menu, but implemented with jQuery.

Features

  • Multiple level menu support
  • Infinite menu level nesting
  • Cross browser compatibility (IE9+, Chrome, Firefox, Safari, Opera, Android Browser, iOS Safari)

Usage

Getting started

Grab the code

Bower

bower install --save push-menu 

Node

npm install push-menu --save 

Include the CSS

<link rel="stylesheet" href="dist/css/stylesheet.css" /> 

There is also a SCSS file available inside the source

Include the Javascript

<script src="dist/js/jquery.pushMenu.min.js"></script> 

Setting up the html

<div class="site">     <div class="site-outer">         <nav class="mp-menu mp-cover" id="mp-menu">             <div class="mp-level">                 <ul>                     <li><a title="CLOSE X" href="javascript:;" class="mp-back">CLOSE X</a></li>                     <li><a title="" href="/">Home</a></li>                     <li><a title="" href="">Menu item 1</a></li>                     <li><a title="Menu item 2" href="javascript:;">Menu item 2 ></a>                         <div class="mp-level">                             <a href="javascript:;" class="mp-back">BACK</a>                         <strong>Menu item 2</strong>                             <ul class="sub-menu third-level">                                 <li><a title="" href="">Menu item 2.1</a></li>                                 <li><a title="" href="">Menu item 2.2</a></li>                                 <li><a title="" href="">Menu item 2.3</a></li>                                 <li><a title="" href="">Menu item 2.4</a></li>                                 <li><a title="" href="">Menu item 2.5</a></li>                             </ul>                         </div>                     </li>                     <li><a title="" href="">Menu item 3</a></li>                     <li><a title="" href="">Menu item 4</a></li>                     <li>                          <a title="Menu item 5" href="javascript:;">Menu item 5 ></a>                          <div class="mp-level">                             <a href="javascript:;" class="mp-back">BACK</a>                             <strong>Menu item 5</strong>                             <ul class="sub-menu third-level">                                 <li><a title="" href="">Menu item 5.1</a></li>                                 <li><a title="" href="">Menu item 5.2</a></li>                                 <li>                                     <a title="Menu item 5.3" href="javascript:;">Menu item 5.3 ></a>                                     <div class="mp-level">                                     <a href="javascript:;" class="mp-back">BACK</a>                                     <strong>Menu item 5.3</strong>                                         <ul class="sub-menu third-level">                                             <li><a title="" href="">Menu item 5.3.1</a></li>                                             <li><a title="" href="">Menu item 5.3.2</a></li>                                             <li><a title="" href="">Menu item 5.3.3 ></a></li>                                             <li><a title="" href="">Menu item 5.3.4</a></li>                                             <li><a title="" href="javascript:;">Menu item 5.3.5 ></a>                                                  <div class="mp-level">                                                     <a href="javascript:;" class="mp-back">BACK</a>                                                     <strong>Menu item 5.3.5</strong>                                                     <ul class="sub-menu third-level">                                                         <li><a title="" href="">Menu item 5.3.5.1</a></li>                                                         <li><a title="" href="">Menu item 5.3.5.2</a></li>                                                     </ul>                                                 </div>                                             </li>                                         </ul>                                     </div>                                 </li>                                                                         <li><a title="" href="">Menu item 5.4</a></li>                             </ul>                         </div>                     </li>                 </ul>             </div>         </nav>          <div class="site-wrapper">             <div class="site-container">                 <h1><a href="javascript:;" id="trigger" class="burger" title="Open"></a> jquery pushMenu v2.0.7</h1>                  <h2>Site content</h2>              </div>         </div>     </div> </div> 

Setting up the Javascript

<script>          $(document).ready(function(){         $('#mp-menu').pushMenu({             type: 'overlap',             levelSpacing: 0,             backClass: 'mp-back',             trigger: '#trigger',             pusher: '.site-outer',             scrollTop: false         });     }); </script> 

Options

type: 'cover'                       // cover || overlap     -   Whether the menu level should overlap slightly or completely cover each other levelSpacing: 0                     // If the 'type' is set to overlap how much should be visible from the previous level backClass: 'mp-back'                // The back button class trigger: '#trigger'                 // What should open the menu on click / touch pusher: '.site-outer'               // What should be moved when the menu opens - The plugin relies on moving the site out of the way to make way for the menu scrollTop: false                    // true || false    -   If set to true when moving between levels the screen will automatically scroll back to the top 

Todos

  • Add some additional examples
  • IE8 to play nicely
  • Option to slide menu in from the right
  • Main content of the site should be fixed to the page when menu is open and not scroll with the menu
  • Add callback for onOpen
  • Add callback for onClose
  • Add method to open menu programmatically at a specific level
  • Add method to close menu
  • Add option to choose whether to close menu on body click
  • Add option if level has an arbitrary active class menu opens at this level again

You May Also Like