Collapsible Menu Google Docs by Deluxe-Menu.com
Collapsible Menu Google Docs

Menu Screenshots

Collapsible Menu Google Docs Images

Features

High Performance
  • AJAX menu loading - loads web menu data from the server "on-the-fly".
  • Commonly loads quicker than other html page elements
  • UL/LI items structure
  • Runs well with an unlimited number of submenus and items
Cost Effective
Submenu Dhtml Collapsible Menu Google Docs
Seamless Integration
  • Cross-frame support - menus work on frameset-based pages
  • Visible over flash, select boxes, iframes, java applets
  • Multiple menus on the same page
  • Amicable to other scripts and css styles
  • Any HTML code can be used inside menu items
Compatibility              
  • Full cross-browser compatibility including IE, Netscape, Mozilla, Opera, Firefox, Konqueror and Safari on Windows, Mac OS and Linux
  • Menu can be populated from a database using ASP, PHP, etc.
  • Search engine friendly
  • Support for any doctypes
  • Fits for secure sites
  • Section 508 compliant
Unrivalled Features
  • Scrollable, dragable, floating, right-click menus
  • Keyboard navigation - press Ctrl+F2 to enter the menu
  • Unique Java Script API for altering menu "on-the-fly", without page reloading
  • AJAX technology - loads menu data from the server "on-fly and on-demand".
  • Search feature - add the search area in the menu and type symbols. The found words will be higlighted.
  • Sound support!



2.0 Buttons by Web-Buttons.com v3.0.0

Javascript Menu. DHTML Menu.

  • There can be multi level menus - create as many rows or columns of the menu as you want.
  • Use a mouse to drag a menu as a usual window. Also you can construct the menu where each submenu can be "detached" from the main menu (MSOfficeToolbarLike mode).
  • When the page is scrolled the menu remains visible. The DHTML menu can "float" along one or two coordinate axes.

Recent Questions

Q: What I would like to see is the ability to have a base site navigation menu with all the definitional entries (size, locations, icons, etc.) defined but all the menuitems be called from an Ajax file.

A: You cannot use ajax submenus for the top items.
But you can use several .js file, for example:

params.js //file with all menu parameters (size, locations, icons, etc.)
all code before
  var menuItems = [
...
];
dm_init();

data_ajax1.js //data files for ajax submenus
data_ajax2.js
data_ajax3.js
...

main_data.js - data file with the following code:

  var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();

You can also place this code into your html page directly (in the place where you want tohave a menu):

<script type="text/javascript">
  var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();


Q: I have read your http://deluxe-tree.com/whats-new-info.html.

And really I do not understand this phrase:

- Item ID format has changed. It depends on the parent ID = [parent ID]i[item index].
Examples: for the first level dtree _0i0, dtree_0i1..., for the second level dtree_0i1i0,dtree_0i1i1, dtree_0i1i2...

Where do I fill in?

Do I have to rename my cascading menu titles?

A: Actually you shouldn't change anything.
This info is for the customers who use these indexes (dtree_0i1i2) only.


Q: After much coming and going I have finally got De Luxe menu to work with Firefox 2

But the menu system on the exact same htm page I have created does not show up in IE7.

Is this a known problem?

A: Try to set the exact width for the menu,

  var menuWidth="700px";



Q: Sorry to bother you again, but we've done everything suggested in your fix regarding flash obscuring the multiple drop down menu, but we're still having the same problem in Firefox.

We've - set the parameter in the data file to -   var dmObjectsCheck=1;

We've added the following to the start of the data file -

function dm_ext_ruleObjectHide()
{
return false;
}

We've embeded the flash as suggested to -

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
height="150" width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="images/flash/if-header.swf"
type="application/x-shockwave-flash" width="732" quality="best"
wmode="opaque" play="true">
</object>

But still our multiple drop down menu sits behind the flash. Are we missing something else?

A: See it is necessary to have opaque parameters in <object> and <embed>tags to display submenus correctly in Firefox.

So, you should open .js file for your flash and find "embed" and"object" words.
And add opaque parameters, for example:

swfNode = '<embed type="application/x-shockwave-flash" wmode="opaque" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
  var params = this.getParams();
for(  var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
  var pairs = this.getVariablePairs().join("&");
if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
swfNode += '/>';
} else { // PC IE
if (this.getAttribute("doExpressInstall")) {
this.addVariable("MMplayerType", "ActiveX");
this.setAttribute('swf', this.xiSWFPath);
}
swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') + '">';
swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" /> <param name="wmode" value="opaque"> ';
  var params = this.getParams();
for(  var key in params) {
swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
}