May 14, 2009
Updated: SurgeMenu is now in version 1.2
SurgeMenu has been tested and works with Internet Explorer 6, 7 and 8; Firefox 1.x, 2, and 3; Google Chrome 1.0; Netscape Navigator 9; Opera 8 and 9; Safari 3 and 4.
As of this writing, these account for over 98% of all browsers used.
October 22, 2007
The challenge: to create a flexible, easily customizable dynamic menu system that allows for very deeply nested, multi-tiered menus. One that maintains its speed, no matter how complex the menu. One that is created with minimal configuration time. One that works across browsers. And keep it lean and mean ...
I tried others, prior to building my own. Many of them. And even the best of the lot, XMenu, by Erik Arvidsson and Emil Eklund, doesn't deliver on all counts. It requires that a good many, code-heavy files be loaded, uses a larger amount of run-time code, and - most problematic - adds large numbers of prototyped methods and properties to the WebFX objects. As menus grow, menuing rapidly slows down, and on large menus, it chokes. It hangs.
Not so with SurgeMenu. Take my 'medical subjects' menu tree - demonstrated and discussed in more detail elsewhere - the top link launches a top-tier eleven-item menu, each with second-tier submenus containing from 6-10 items, twenty-five third-tier menus, and five fourth-tier menus. Grand total: 289 selectable menu items.
Menu transparency - got it. Customizable size - check. Icons to highlight the item that currently has focus, or icons to indicate submenus - both are options. Highlighting items by text or background color, font, bold or italic - all are options.
Ah, yes. This is old code - some of my oldest, and coolest, and though I had it running well on Internet Explorer, it failed on other browsers. That has now, finally, been fixed.
SurgeMenu has been tested with Internet Explorer 6 and 7, Firefox 1.5 and 2.0, Netscape Navigator 9, Opera 9, and Safari 3. As of this
writing, these account for 98% of all browsers used. And no, the code is not XHTML-compliant, or fully W3C Document Object Module-compliant. If it were, it would not work.
As new browsers come out, this code may need to be updated - what code doesn't? But since it's free software released to the public under the terms of the GNU General Public License (GPL), you or I or someone else can modify it to reflect those needs.
Article continues on SurgeMenu Basics: Example and Code.
See also SurgeMenu and Positioning Code Variations.
SurgeMenu Sample Menu: Simple
SurgeMenu Sample Menu: Funky/Complex
SurgeMenu Sample Menu: Deeply-Nested, Complex
view SurgeMenu Cascading Menu System source code
download SurgeMenu12.zip -
SurgeMenu code and documentation
The SurgeMenu Dynamic Cascading Menu System is free, modifiable software released under the GNU General Public License (GPL).