Over the weekend, I ran across a dropdown script called jdMenu that runs off the jQuery library. It turned out to work great for me, as long as the level of menus is maxed at 2. I prefer using scripts that use the jQuery library in order to simplify the maintenance of scripts and to speed up development of Ajax scripts.
From my experience, modern dropdown menus should only use <ul><li> hierarchy tags to make it easy to maintain. As long as the coder knows HTML, they should be able to modify the dropdown menu. I’ve used dropdown menu scripts in the past that had javascript arrays, which are a huge hassle to maintain. Not to mention accessibility issues. jdMenu uses the list HTML structure, and does an efficient job at it. The script loads fast.
The only downside to the script is the development documentation and support, but I figured out how to modify the script to meet my needs. For instance, I’ve converted the top level navigation links to images and used CSS to display the rollover of the images. If you want clickable top level links, make sure you DO NOT use the class=”accessibility” option. The jdMenu script is definitely one to consider if you want to use dropdown scripts with CSS. Very fast and easy to rewrite to meet your specific needs.
Pros:
Very fast –actual script is only 3Kb
Works with search engines — plain unordered lists UL/LI HTML
Very easy to customize — jQuery code is easy to update
Works with IE6 and IE7 — There is a known issue where IE6/IE7 places select boxes on top of EVERY element in the page. This script takes care of that. I know many other scripts do not have this fix built-in.
Cons:
Limited documentation, but the code is easy to understand. Just need to have a handle of HTML and some JS in order to get started.
3rd level+ menu order isn’t fully supported. I suggest not having menus written with that many levels anyway, too confusing for the user.