Menu Clicky

Open menu by clicking "Menu Item". Close menu by clicking on any sub menu

by M Shameer

HTML

<nav>
    <ul class="cf">
        <li><a class="dropdown">Menu Item</a>
            <ul>
                <li><a href="#">Sub-menu Item 1</a></li>
                <li><a href="#">Sub-menu Item 2</a></li>
            </ul>
        </li>
    </ul>
</nav>

CSS

nav ul {
    background: #ddd;
    font-size: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    width: 100%;
}
nav li {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: relative;
    min-width: 33%;
	cursor: pointer;
}
nav a {
    background: #ddd;
    color: #444;
    display: block;
    font: bold 16px/50px sans-serif;
    padding: 0 25px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all .25s ease;
       -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
         -o-transition: all .25s ease;
            transition: all .25s ease;
}
nav .dropdown:after {
    content: ' \25bc';
}

nav li ul {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 35px;
    visibility: hidden;
    z-index: 1;
    -webkit-transition: all .25s ease;
       -moz-transition: all .25s ease;
        -ms-transition: all .25s ease;
         -o-transition: all .25s ease;
            transition: all .25s ease;
}
nav li ul.hovered {
    opacity: 1;
    top: 50px;
    visibility: visible;
}

nav li ul li {
    width: 100%;
}

JavaScript

$(document).ready(function() {
			$( 'ul li, ul li ul' ).hover(function() {
			  $( 'ul li ul' ).toggleClass( "hovered" );
			});
			$( 'ul li ul li' ).click(function() {
			  $(this).parent('ul').toggleClass( "hovered" );
			});
		});