Overview
Quick and dirty nested drop-down menu in the jQuery styleee. I needed a nav like this for a recent project and a quick Googling turned up nothing that really suited, so droppy was born. It hasn't been designed with flexibility in mind - if you like what you see, great, integration should be a breeze - otherwise I'd look for something more configurable elsewhere.
Example
Usage
No mandatory configuration options or nothin' here, just use include the Javascript/CSS resources and insert the following code in your document head, or any other suitable place:
<script type='text/javascript'> $(function() { $('#nav').droppy(); }); </script>
And here's some example HTML markup:
<ul id='nav'> <li><a href='#'>Top level 1</a></li> <li><a href='#'>Top level 2</a> <ul> <li><a href='#'>Sub 2 - 1</a></li> <li> <a href='#'>Sub 2 - 2</a> <ul> <li> <a href='#'>Sub 2 - 2 - 1</a> <ul> <li><a href='#'>Sub 2 - 2 - 1 - 1</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 2</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 3</a></li> <li><a href='#'>Sub 2 - 2 - 1 - 4</a></li> </ul> </li> <li><a href='#'>Sub 2 - 2 - 2</a></li> <li> <a href='#'>Sub 2 - 2 - 3</a> <ul> <li><a href='#'>Sub 2 - 2 - 3 - 1</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 2</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 3</a></li> <li><a href='#'>Sub 2 - 2 - 3 - 4</a></li> </ul> </li> </ul> </li> <li><a href='#'>Sub 2 - 3</a></li> </ul> </li> </ul>
Droppy supports a single configuration option, speed, for setting the animation time.
<script type='text/javascript'> $(function() { $('#nav').droppy({speed: 100}); }); </script>
The example CSS file has been split up into three small sections for ease of
customisation if you feel like getting your tinker on. As of version 0.1.2,
the 'hover' CSS class is applied to both <li>
and <a>
tags inside the menu on rollover, improving skinability with IE6.
Download
Package
Package downloads are available from the jQuery project page.
github
jason@donut ~ $ git clone git@github.com:jaz303/droppy.git
Known Issues
- CSS opacity effects applied to
#nav ul
or#nav li
selectors will cumulate with each level of nesting. Workaround: apply opacity effects to#nav a
or use a 1×1 transparent PNG for background color.