Javascript Tree Grammar by Deluxe-Tree.com
Javascript Tree Grammar


Buy Now!  Free Trial Download

Menu Screenshots Javascript Tree Grammar

Javascript Tree Grammar Tree Drop Down Menue

Features Javascript Tree Grammar

High Performance
  • AJAX menu loading - loads web menu data from the server "on-the-fly".
  • Commonly loads quicker than other html page elements
  • Runs well with an unlimited number of submenus and items
Cost Effective
Web Scroll Menu Tree Javascript Tree Grammar
Seamless Integration
  • 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
Easy Setup
  • De Luxe Tuner. GUI interface to create your javascript tree grammar menus easily and in no time
  • Sensible menu parameters for manual editing
Buy Now!  Free Trial Download

Javascript Tree Menu. Expandable Menu.

  • Good navigation is an important step to website success. If people can't find their way around the site, they will quickly give up looking and leave, never to return. So, it's absolute vital that your website has a fast, neat, and eye-pleasing navigation.
    Don't allow your website visitors to get lost. Try Javascript/DHTML Tree Menu!

Recent Questions Javascript Tree Grammar

Q: I now have a menu that I like. Works great, but not with the Explorer browser. Works perfectly with Firefox and Opera. Doesn't work with Explorer. I tried using Explorer installed on several computers at different installations - at home, work and at a friends house. So it doesn't appear to be anything specific to my version. I don't have high security enabled.

Can you identify my problem? I've spent hours trying to fix this.


A: Please, see your menu parameters. Now you have:

  var itemBackColor = ["#0","#ffffff"];
It is not right.

You should write for example so:
  var itemBackColor = ["#0000FF","#ffffff"];


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] +'" />';
}



Q: I can not figure out how to build tab drop down menus?

A: See in Deluxe Tabs there are two modes:

1.   var tabMode=0;
You can create only one level of tabs and assign Object Id's of the
DIV's to show when you click on the tab.

["XP Tab 1","content1", "", "", "", "", "", "", "", ],
["XP Tab 2","content2", "", "", "", "", "", "", "", ],
["XP Tab 3","content3", "", "", "", "", "", "", "", ],
["XP Tab 4","content4", "", "", "", "", "", "", "", ],

2.   var tabMode=1;
You can assign only links in this mode.
You should create top level items with subitems.

["XP Tab 1","", "", "", "", "", "", "", "", ],
 ["|Link 1_1","http://deluxe-tabs.com", "", "", "", "", "0", "", "", ],
 ["|Link 1_2","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 1_3","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 1_4","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 1_5","testlink.htm", "", "", "", "", "0", "", "", ],
["XP Tab 2","", "", "", "", "", "", "", "", ],
 ["|Link 2_1","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 2_2","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 2_3","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 2_4","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 2_5","testlink.htm", "", "", "", "", "0", "", "", ],
["XP Tab 3","", "", "", "", "", "", "", "", ],
 ["|Link 3_1","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 3_2","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 3_3","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 3_4","testlink.htm", "", "", "", "", "0", "", "", ],
 ["|Link 3_5","testlink.htm", "", "", "", "", "0", "", "", ],

You can use Object ID as well as Link in both modes. Use the following prefixes within item's link field:
"object:" - means that there is object id after it;
"link:" - means that there is a link after it.
"javascript:" - means that there is a javascript code after it, for example:javascript:alert(\'Hello!\')

So, you should write for example:

 ["|Link 1_1","object:Content1_1", "", "", "", "", "0", "", "", ],




Q: I have a paid version of the menu, and I was trying to add the functionality of dynamically adding net dhtml menu item

When I added the code I get the following JS error,

menu is undefined in dmenu_dyn.js (line 13)

dm_ext_addItemPos(1, 0, ["Netscape", "testlink.htm", "", 4 more...], -1)dmenu_dyn.js (line 13)
dm_ext_addItem(1, 0, ["Netscape", "testlink.htm", "", 4 more...])dmenu_dyn.js (line 13)

function dm_ext_hideAllSubmenus(mInd){_dmsm(mInd);};function dm_ext_changeItem(m...

I copied the example from your site, just to see if I can use it.

What am I doing wrong?

A: See, we have two menus on the sample's page
http://deluxe-menu.com/dynamic-functions-sample.html

That's why we write menuInd = 1
dm_ext_addItemPos(1, ...

dm_ext_addItemPos(1, 0, ["Netscape", "testlink.htm", "", 4 more...], -1)dmenu_dyn.js (line 13)
dm_ext_addItem(1, 0, ["Netscape", "testlink.htm", "", 4 more...])dmenu_dyn.js (line 13)

But if you have only one menu you should write menuInd = 0
dm_ext_addItemPos(0, ...
dm_ext_addItem(0, ...