Dhtml Hover Context Menu by Deluxe-Menu.com
Dhtml Hover Context Menu

Menu Screenshots

Dhtml Hover Context Menu Dhtml Right Click Menu Javascript

Features

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
Dhtml Popup Menu Right Click Dhtml Hover Context Menu
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
  • UL/LI items structure
  • Runs well with an unlimited number of submenus and items
Easy Setup
  • De Luxe Tuner. GUI interface to create your dhtml hover context menu menus easily and in no time
  • Sensible menu parameters for manual editing



2.0 Buttons by Web-Buttons.com v3.0.0

Javascript Menu. DHTML Menu.

  • Sub menus dropdown over all the objects on the page (select, applet, flash, object, embed). If for some reasons (old browser) a submenu can't go over an object, the object will be hidden for a time when the submenu is shown.
  • Design personal styles for any submenu and item. Use individual styles to rich killer visual effects!
  • These effects will make your menu neat and chic. You can set transparency, cast a shadow on the menu and submenus. Among available special visual effects there are random dissolve, fade, mix, mosaic slide out and many many others.

Recent Questions

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: Can the main menu items be set so they are all the same width without specifying pixel widths?


A: You should create Individual Style and assign this style for allitems.

  var itemStyles = [
["itemWidth=150"], //style 0
];

  var menuItems = [

["DHTML Menus","", "images/icon1.gif", "images/icon1o.gif", , ,"0", , , , , ], // assign style 0
["Apycom products","", "images/icon1.gif", "images/icon1o.gif", , , "0", , , , , ], // assign style 0
["Contacts","http://www.apycom.com/contact.html", "images/icon1.gif", "images/icon1o.gif", , , "0", , , , , ], // assign style 0
];


Q: I am trying to create a multicolumn dhtml navigation menu and nothing appears when I upload it to my server. I am attaching my menu called menu.js that I have created and placed in a folder called menudir.

Can you please advise, thank you.

A: You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html

Deluxe Menu has only two states normal and mouseover.

Try to do the following things:
- delete   var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:

<noscript><a href="http://deluxe-menu.com">dhtml navigation menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript">  var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<script type="text/javascript">  var pressedItem=3;</script>
...
<script type="text/javascript" src="menudir/data.js"></script>

You can also set a pressed item using Javascript API:

function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)

Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.

But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem. You can't get this ID after you reload your page. That is why you should write your own code on PHP.


Q: I use the apy menu inside a table cell and it has 6 sub menus. The table width is 600 so I would like to have each sub menu with width 100 and each item with the same width. I use menuWidth=100 and itemWidth=100 but it doesn't work, each menu has a different size depending on the label.
Also, each sub menu label can fit in less than 100 but I really want the width to be 100 so it looks consistant across the full menu.
What am I doing wrong ?


A: You should use individual item styles. For example:

  var itemStyles = [
["itemWidth=100px"],
];

["DHTML
Menus","", "", "", , , "0", , , , , ],
...
["Apycom
products","", "", "", , , "0", , , , , ],
...
["Contacts","http://www.apycom.com/contact.html", "", "", , , "0", , , , , ],

See the attached example.