Sites Using Tree Menu by Deluxe-Tree.com
Sites Using Tree Menu


Buy Now!  Free Trial Download

Menu Screenshots Sites Using Tree Menu

Sites Using Tree Menu Tree In Javascript

Features Sites Using Tree Menu

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
Easy Setup
  • De Luxe Tuner. GUI interface to create your sites using tree menu menus easily and in no time
  • Sensible menu parameters for manual editing
Tree Sample Code Sites Using Tree Menu
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
Professional Look-n-feel
  • Entirely customizable look-n-feel
  • A lot of pre-designed sites using tree menu samples
  • Hundreds of visual effects
  • Custom CSS styles can be applied for all menu settings
Unrivalled Features
  • Scrollable, dragable, floating
  • 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".
Buy Now!  Free Trial Download

Javascript Tree Menu. Expandable Menu.

  • Use images for backgrounds of submenus and items, icons, arrows.
  • Use any amount of menus on a single page.
  • Place any HTML code within the menu item - be it a flash-object, form, picture, or text. This ability lets you to build various menus of any complexity. You can create 3-state icons for each item: normal state, mouseover state, expanded state. After clicking on menu item selected item becomes highlighted.

Recent Questions Sites Using Tree Menu

Q: Is it possible to open a specific tab in javascript menu samples using javascript? For example something like tabObject.open(tab1);

A: You can try to use the following function:

dtabs_itemClick(menuN, itemN);

where
menuN - index of a menu on a page, >= 0.
itemN - index of a tab you want to show, >=0.



Q: We have several problems with your menu.
Notice when trying to select a drop down item…the item disappears, rather than holding in place as the mouse is over the menu item.

Second, we’d like to know how to expand the width of the main headers and sub headers. Currently, they are not of the same width.

Lastly, we’d like to change the font and load new fonts to match the branding of the menu items.
Please let us know where we can find instructions to make these modifications/customizations.


A: Please, try to write your menuItems parameter correctly.
You should set "iconOver" parameter for each item (you can set "").
Please, see how you should write your menuItems:

["","index.php","nav_home_out.gif","nav_home_over.gif","","_self","0",,,],
["","","nav_experience_out.gif","nav_experience_over.gif","","_self","0",,,],
     ["|Contestants","experience_contestants.php","","","_self","2",,,],
...

> Second, we’d like to know how to expand the width of the
> main headers and sub headers. Currently, they are not of the
> same width.

You should use Individual styles, for example:

  var itemStyles = [
["itemWidth=120px","arrowImageMain=image1,image2=home_out.gif,home_over.gif"],     // style 0
["itemBorderWidth=2","itemBorderStyle=solid,solid", "itemBorderColor=#AA0000,#0000FF"],     // style 1
["fontStyle=bold 12px Arial,Helvetica", "fontDecoration=none,underline"],     // style 2
];

  var menuItems = [
["","index.php","nav_home_out.gif","nav_home_over.gif","","_self","0",,,],
    ["","","nav_experience_out.gif","nav_experience_over.gif","","_self","0",,,],
...

For submenus you should set the following parameter:

  var smWidth="150px";

> Lastly, we’d like to change the font and load new
> fonts to match the branding of the menu items.

You should also use Individual styles.
But you should set this parameter:

  var fontStyle="";
And then use different fonts for your items.


Q: I will build menu for several books’ Contents, each book is more than 100 lines and has links. I think if all the books’ contents in 1 *.JS file then it is TOO LOONG!!.
Can I break it down to 1 book for 1*.JS ? How?


A: You cannot divide your menuItems parameter.
You can only use one .js file for your menu parameters and the other.js file for your menuItems = [...];

But you can do it in two ways.

1) You can try to use several menus on the one page, for example:
param.js // file with menu parameters (all parameters before menuItems = [...];)
menu1.js // menuItems for "AC-DC", "ANLOG"
menu2.js // menuItems for "DIGITAL", "WinXP"
menu3.js // menuItems for "MS-Word", "MS-Excel"
In these menu files you should write
menuItems = [
...
];
dm_init();

Then you should install your menu in the following way

<script type="text/javascript" src="param.js"></script>
<table>
...
<script type="text/javascript" src="menu1.js"></script>
...
<script type="text/javascript" src="menu2.js"></script>
...
<script type="text/javascript" src="menu3.js"></script>

But it will be easier to use vertical menu in such case
  var isHorizontal=0;
  var smColumns=1;

2) You can also try to add some code, see the attached example.

In the first file (@MY books (Multiple Col.js) I write menuItems for the first item "AC-DC".
Notice that you should delete comma at the end of the last item
  var menuItems = [

["AC-DC","", , , , , , , , ],
 ["|@Book1","testlink.htm", , , , , , , , ],
...
 ["|@Book3","", , , , , , , , ],
   ["||CH02","", , , , , , , , ],
   ["||CH01","", , , , , , , , ] // delete comma at the end of the last item

];

In the second file (@MY books (1.js) you should write
menuItems = menuItems.concat(

[

["ANLOG","", , , , , , , , ],
 ["|@Book1","", , , , , , , , ],
 ["|@Book2","", , , , , , , , ],
 ["|@Book3","", , , , , , , , ] // delete comma at the end of the last item

]
);

In the third file (@MY books (2.js) you should write
menuItems = menuItems.concat(

[

["DIGITAL","", , , , , , , , ],
 ["|Item 1332","", , , , , , , , ],
["WinXP","", , , , , , , , ],
 ["|Item 1333","", , , , , , , , ],
["MS-Word","", , , , , , , , ],
 ["|Item 1334","", , , , , , , , ],
["MS-Excel","", , , , , , , , ],
 ["|Item 1335","", , , , , , , , ] // delete comma at the end of the last item
]
);

dm_init();

Notice that you should write dm_init(); function in the last file.

In the .html file you should write
...
<tr>
<script type="text/javascript" src="@MY books (Multiple Col.js"></script>
<script type="text/javascript" src="@MY books (1.js"></script>
<script type="text/javascript" src="@MY books (2.js"></script>
</tr>
I hope you understand me.


Q: Couple last questions. I have 25 icons (images) on one page. Each image needs it's own popup menu. Obviously I now have the first one working. How and where do I define IDs number 2-24 ? Does each icon need it's own "source_" file?

Also, where is it defined that the popup menu is ID 1 ?


A: > Also, where is it defined that the popup menu is ID 1 ?
Each menu has ID. The ID's number starts with 0.

So, when you have several data files on your page you have such ID's:

<script type="text/javascript" language="JavaScript1.2" src="menu-top.js"></script> // ID - 0

<script type="text/javascript" language="JavaScript1.2" src="source_pop.js"></script> // ID - 1

<script type="text/javascript" language="JavaScript1.2" src="source_pop1.js"></script> // ID - 2

<script type="text/javascript" language="JavaScript1.2" src="source_pop2.js"></script> // ID - 3

<script type="text/javascript" language="JavaScript1.2" src="source_pop3.js"></script> // ID - 4

and so on.

> I have 25 icons (images) on one page. Each image needs it's own popup menu.
If you want to have different Popup menus (there color, item, text,font and so on) you should create 25 different .js files with yourparameters. And call them from your page, for example:

<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript1.2 src="source_pop1.js" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript1.2 src="source_pop2.js" type=text/javascript></SCRIPT>
...
<SCRIPT language=JavaScript1.2 src="source_pop24.js" type=text/javascript></SCRIPT>

If you have different item text only you can use one
<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
file. But you should delete the following code:

  var menuItems = [

["Next","testlink.htm"],
["Prev","testlink.htm"],
["Close","testlink.htm"],
];

dm_init();

and move it to the html page:

<body>
...
<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
<script type="text/javascript"> //first popup menu ID - 1
  var menuItems = [

["Next","testlink.htm"],
["Prev","testlink.htm"],
["Close","testlink.htm"],
];

dm_init();
</SCRIPT>
<script type="text/javascript"> //second popup menu ID - 2
  var menuItems = [

["Text","testlink.htm"],
["Text1","testlink.htm"],
["Text2","testlink.htm"],
];

dm_init();
</SCRIPT>
<script type="text/javascript"> //third popup menu ID - 3
  var menuItems = [

["New_Text","testlink.htm"],
["New_Text1","testlink.htm"],
["New_Text2","testlink.htm"],
];

dm_init();
</SCRIPT>
...
<script type="text/javascript"> //twenty fourth popup menu ID - 3
  var menuItems = [

["New","testlink.htm"],
["New","testlink.htm"],
["New","testlink.htm"],
];

dm_init();
</SCRIPT>

<img src="testimage.gif" width=200 onClick="return dm_popup(1, 1000, event);" style="cursor: hand;">
<img src="testimage.gif" width=200 onClick="return dm_popup(2, 1000, event);" style="cursor: hand;">
<img src="testimage.gif" width=200 onClick="return dm_popup(3, 1000, event);" style="cursor: hand;">
...
<img src="testimage.gif" width=200 onClick="return dm_popup(24, 1000, event);" style="cursor: hand;">
...
</body>