It’s very common for us to show and hide vertical menus when developing sites. This idiom is particularly common on sites with a lot of submenus, such as e-commerce shopping carts.

Since it’s a technique we use so frequently, we decided to write a little jQuery plugin to make life easier for ourselves. This plugin takes nested unordered lists and turns them into expandable and contractable menus.
The plugin has the following features:
- Dual licenced under GPL / MIT licences – do what you want with this code (as long as you leave the licence intact!)
- Lightweight (~2Kb packed)
- Keyboard accessible, basic WAI-ARIA support. Usable with JavaScript switched off.
- Easy to use and deploy
- Configurable through CSS, callback functions and numerous options
Please note that this plugin optionally uses of Klaus Hartl‘s excellent jquery.cookie.js plugin.
You can download the plugin here, and view the docs, and an example here.



