Javascript High Performance Tree Menu by Deluxe-Tree.com
Javascript High Performance Tree Menu


Buy Now!  Free Trial Download

Menu Screenshots Javascript High Performance Tree Menu

Javascript High Performance Tree Menu Dhtml Image Menu Tree

Features Javascript High Performance 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 javascript high performance tree menu samples
  • Hundreds of visual effects
  • Custom CSS styles can be applied for all menu settings
Dhtml Tree Drag Drop Javascript High Performance Tree Menu
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
Cost Effective
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
Buy Now!  Free Trial Download

Javascript Tree Menu. Expandable Menu.

  • You can set default expanded/collapsed items and submenus.
  • After clicking on menu item selected item becomes highlighted.
  • When the submenu is larger than the visible area of the page the submenu will be automatically decreased. To see all the submenu items you do not need to use scrollbars or something like that - just put your mouse to the bottom of a submenu and it will be automatically scrolled! You can also specify height and width for each separate submenu.
  • There is no need to write additional code on a server side to remember what items were expanded/collapsed. Javascript/DHTML Tree can save items state automatically!

Recent Questions Javascript High Performance Tree Menu

Q: Now I need to work out how to add multiple menu's to a page? Are you able to reference these separately - is this possible.

The page that I am creating lists out notes from our system - there is a "options" button to the right of each note - when the cursor hovers over this button I want to dynamically load themenu's. On any page there could be over a 100 of these "option" buttons and the menu that would load from each option button could be different and specific to the note.


A: You can add as many menus as you want on the one page.

You should call
<SCRIPT type=text/javascript>  var dmWorkPath = "data.files/";</SCRIPT>

<SCRIPT src="data.files/dmenu.js" type=text/javascript></SCRIPT>

and then call your data files:

<SCRIPT src="data.files/data1.js" type=text/javascript></SCRIPT>

<SCRIPT src="data.files/data2.js" type=text/javascript></SCRIPT>

<SCRIPT src="data.files/data3.js" type=text/javascript></SCRIPT>

<SCRIPT src="data.files/data4.js" type=text/javascript></SCRIPT>

> The page that I am creating lists out notes from our system -
> there is a "options" button to the right of each note - when the
> cursor hovers over this button I want to dynamically load the
> menu's.

You can try to use pop up menus
http://deluxe-menu.com/popup-mode-sample.html

You may also generate a menus from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.


Q: How can I upgrade to JavaScript Tree Menu v2.0? Now I'm using v1.14.


A: How to upgrade to v2.00
---------------------------------------------------------------
You can download the licensed engine .js files from the same link in your license message.
JavaScript Tree Menu v2.00 has new parameters and features.
To upgrade to v2.00 you should do the following.

Step 1.
    1.1 For Windows users
      a. Run Deluxe Tuner v2.0
      (can be found in the trial menu package v2.0
      http://deluxe-menu.com/deluxe-menu.zip).
      b. Open menu data file (.js file where menu parameters are placed):
select File/Open…
      c. Save the file: select File/Save, then click "No" button when the dialog box appears.

    1.2 For other OS users
      a. Open menu data file (.js file where menu parameters are placed) in a text editor.
      b. Make sure that the following variables exist in the data file:

        var keystrokes = 0;
        var dm_focus = 1;
        var dm_actKey = 113;

        var dynamic = 0;
        var smHideOnClick = 1;
        var itemAlignTop = 'left';
        var smSmartScroll = 1;

        var dmAJAX = 0;
        var dmAJAXCount = 30;
        var dmRTL = 0;
        var dmObjectsCheck = 0;
        var menuBackRepeat = "repeat";
        var menuHeight = "";
        var transDuration2 = 200;

If one of the variables doesn't exist - add it at the beginning of the file.

      c. Save the file.

Step 2. Now open HTML-page that contains JavaScript Tree Menu.

Step 3. Replace existent tags of the menu by the following code:



Step 4. Save HTML-page.

Step 5. New engine v2.00 has 7 .js files.
They are:
      - dmenu.js
      - dmenu4.js
      - dmenu_add.js
      - dmenu_dyn.js
      - dmenu_key.js
      - dmenu_cf.js (new v2.00)
      - dmenu_popup.js (new v2.00)

Replace all old .js files by the files from v2.00.

Try that.


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: Is there a parameter in Tree Menu I can add and/or adjust in data.js toforce the menu text to wrap and add here to a set menu width?


A: You should use
tags, for example:

  var tmenuItems = [
["line 1
line 2"],
];

Width of the menu you can set so:
  var tmenuWidth = "500px";
Try that.

Try to specify units in "px".
  var tmenuWidth = "182px";
It's necessary to specify exact value for Mozilla browsers. It helpsto position menus correctly.

You should set this parameter:
  var tmenuHeight = "auto";