Open Source Rtl Javascript Menu by Deluxe-Menu.com
Open Source Rtl Javascript Menu

Menu Screenshots

Open Source Rtl Javascript Menu Simple Popup Menu

Features

Easy Setup
  • De Luxe Tuner. GUI interface to create your open source rtl javascript menu menus easily and in no time
  • Sensible menu parameters for manual editing
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
Java Script Popupmenu Open Source Rtl Javascript Menu
Professional Look-n-feel
  • Entirely customizable look-n-feel
  • A lot of pre-designed open source rtl javascript menu samples
  • Hundreds of visual effects
  • Custom CSS styles can be applied for all menu settings
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
Unrivalled Features
  • Scrollable, dragable, floating, right-click menus
  • Keyboard navigation - press Ctrl+F2 to enter the menu
  • 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".
  • Search feature - add the search area in the menu and type symbols. The found words will be higlighted.
  • Sound support!



2.0 Buttons by Web-Buttons.com v3.0.0

Javascript Menu. DHTML Menu.

  • Tune menu parameters manually or using Deluxe Tuner. Then add several rows of a code within html page - your menu is ready!
  • Use special JavaScript functions for: Dynamic changing of items (text, link, icons and even individual style!). Making a menu item active/inactive. Addition/removing of items. Changing of visibility of items. Getting the information on any menu, submenu and items. Other tricks.
  • Opportunity to control the menu from the keyboard.
  • Cross-frame mode allows you to build full-featured menus on the pages that use frame-based structure. But for all that it's not necessary to insert any additional code into all the pages - just specify some additional parameters of the menu.

Recent Questions

Q: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.

First, I set up a very simple menu:

  var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];

This menu is built via dm_init().

Then, I inspect the menu (in Firebug):

>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]

Ok, there are three submenus. Now I am going to delete one of them:

>>> dm_ext_deleteItem(0, 0, 1)

"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:

>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]

So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?

The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?

A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.

It doesn't delete them completely.

We'll try to fix it in the next versions of Deluxe Menu.



Q: I am setting up a 3 tab script and each tab opens a new page butthe state of the tab selected reverts back to the default tab.
How do I keep the tab selected for the html vertical tabs when advancing to the next tab (new page)?

A: You should change the selected tab depending on the page you are now.

This Tabs menu can save pressed item automatically within1 page only.
If you open another page, the menu can't remember presseditem.
You should do that manually using Javascript and menu parameters(  var bselectedItem) or
using any server-side script (php, asp, etc.)

Deluxe Tabs doesn't support API functions which can return theselected tab.

So, you can set "bselectedItem" parameter based on your link beforeyou call data.js file.

For example, move "bselectedItem" parameter from data.js file to yourcode.

<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
  var bselectedItem=<?php echo $seltabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript>
</SCRIPT>
</TD>

You should define seltabs using server side script.


Q: I had create a website navigation bar ,in that I need to give separator. But its not working.
Please advise.

A: To add a separator you should

//--- Separators
  var separatorImage=""; //for subitems (top items in vertical menu)
  var separatorWidth="100%";
  var separatorHeight="3px";
  var separatorAlignment="right";
  var separatorVImage="separator.gif"; //for the top items (subitems items in vertical menu)
  var separatorVWidth="100%";
  var separatorVHeight="2px";
  var separatorPadding="";

You can create separators using menuItems (you can do it in DeluxeTuner, use "Add separator" button), for example:

  var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];


Q: Will all your dhtml menu samples work cross-frame?


A: See how should you create cross frame menu:

1. 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
</FRAMESET>

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

You'll find more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html