Dojo Horizontal Menu Bar by
Dojo Horizontal Menu Bar

Menu Screenshots

Dojo Horizontal Menu Bar Web Menu Tutorial


  • 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
Cost Effective
Pop Down Menu Javascript Dojo Horizontal Menu Bar
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
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 dojo horizontal menu bar menus easily and in no time
  • Sensible menu parameters for manual editing

2.0 Buttons by v3.0.0

Javascript Menu. DHTML Menu.

  • Build right-click menus for your site. For this purpose you should appoint a peculiar method for the object you want. The current X,Y of the mouse pointer or your own ones can be used for the context menu.
  • Design menus absolutely based on CSS (Cascading Style Sheets). It is possible to apply the personal CSS styles for every elements of the menu.
  • When the submenu is bigger than the visible page area, the size of submenu will be automatically decreased. To view 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 automagically scrolled! You can also define width and height for each submenu.

Recent Questions

Q: How can I add a separator to the vertical menu using the dynamic functions?
It seems as though the only way to get a separator into the menu is by defining itbefore hand, but the website I'm building will require me to reload themenus dinamically, and I'm losing the ability to put separators on it.

A: You should add items using the following function:

function dm_ext_addItem (menuInd, submenuInd, iParams)
function dm_ext_addItemPos (menuInd, submenuInd, iParams, Pos)

Find more info:

Set the following parameter:
  var dm_writeAll=1;

So, you should write:
dm_ext_addItem(0, 4,  ["|-", "", "", "", "", "", "", ])

Q: I really want the actual dhtml menu bars to be SE Friendly. Is this possible?

A: You should generate search engine friendly code and install it on yourpage.
Deluxe Menu is a search engine friendly menu since v1.12.
To create a search engine friendly menu you should add additional html code within your html page:

<div id="dmlinks">
<a href="menu_link1">menu_item_text1</a>
<a href="menu_link2">menu_item_text2</a>

To generate such a code use Deluxe Tuner application.

Run Tuner, load your menu and click Tools/Generate SE-friendly Code (F3).

We use such code on our website

Q: When doing a multi-frame frameset (1 top frame, 2 bottom frames) like this:

<frameset ID="frames" ONLOAD="getBottom()" ROWS="50, *" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
    <frameset ID="bottomFrames" cols="171,*">
     <frame name="frmLeft" src="left.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0"/>

And using the dm_frameinit like this:
dm_initFrame("[object]", 0, 2, 0);

it works fine in IE -> the menus are displayed exactly under the text and in the bottom right frame.

However, in Firefox, the menu drop down is displayed to the right of the top menu text, and exactly the number of pixels as the width of the left frame.

Perhaps there needs to be some FireFox checking to fix this?
Can you help me with that?

A: The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, sosubmenus drop down with an offset.

You should create the following frameset structure:

   | menu
   | submenus

Now a top row has 2 columns and all browsers can determine awidth of the 1st column in the second row.

Q: Could it be possible to explain to me how to create cross-frame horizontal navigation bar..

A: To initialize the cross frame menu call dm_initFrame()
function instead of standard dm_init() function within data.js file:

dm_initFrame(framesetID, mainFrameInd, subFrameInd, orientation);

framesetID - id attribute of the frameset;
mainFrameInd - index of the main frame (where the top-menu is placed), >=0;
subFrameInd - index of the subframe (where the submenus will be shown), >=0;
orientation - frame orientaion: 0 - top-to-bottom, 1 - left-to-right; 2 - bottom-to-top; 3 - right-to-left.

So you should create your menu in Deluxe Tuner, save it.
Create html file with your frame set.
Set ID for the first frameset:
<FRAMESET id=frmSet rows=220,*>
<FRAME id=frame1 src="Deluxe Menu Samples_files/cross-frame-horizontal-1.htm"> //menu frame
<FRAME id=frame2 name=frame2 src="Deluxe Menu Samples_files/testlink.htm"> //content frame

Then you should open your data file in any text editor and changedm_init();
for example to dm_initFrame("frmSet", 0, 1, 0);

You'll find more info here: