Sliding Menu Javascript by Deluxe-Menu.com
Sliding Menu Javascript

Menu Screenshots

Sliding Menu Javascript Web Right Click Popup Menu

Features

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
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
Javascript Expanding Navigation Menu Hover Sliding Menu Javascript
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
Professional Look-n-feel
  • Entirely customizable look-n-feel
  • A lot of pre-designed sliding menu javascript samples
  • Hundreds of visual effects
  • Custom CSS styles can be applied for all menu settings
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.

  • Apply any font of any color, size and font decoration you need. Use any available type, color and thickness of a menu's frame. Choose any color for submenus and items backgrounds.
  • Set the size of the menu in percent, pixels, or other units. This menu may have a relative (it can be inserted into the table, for example) or absolute position .
  • Specify various values for spacing and padding for the whole menu and for each separate submenu.
  • You can specify a time for delays in showing or hiding of a submenu. Use special prefixes for image paths and links to make paths absolute.
  • Create separators using your own pictures, size and alignment.

Recent Questions

Q: I have been using Deluxe Menu quite a bit, but am now running into a problem on a site I developed. When I add a submenu, it appears separated by about 100 pixels down. In this case I left it on the Menu Item “Why Maumelle” for you to look at.

Can you help me out?


A: See, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "position" attribute of the object if the object doesn't have this property within inline style(style="position:relative"). To get the value you should move .css style into style="" attribute.

Please, try to add your
css file -> inline css, for example:

For example, you should add style="position:relative;"

to the

<DIV class=MainBody>
<DIV class=Banner></DIV>
<DIV class=Menu>

So, you'll have:

<DIV class=MainBody style="position:relative;">
<DIV class=Banner></DIV>
<DIV class=Menu style="position:relative;">

Now we have only such solution for this problem.
We'll try to fix this problem in the future versions.


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">
   <frame NAME="frmTop" SRC="top.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0" />
    <frameset ID="bottomFrames" cols="171,*">
     <frame name="frmLeft" src="left.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0"/>
     <frame name="frmMain" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZEFRAMEBORDER="0" />
    </frameset>
</frameset>


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: Buttons are working great! Client would now like to have the rollover image stay active on the page they are on. They would like the button to stay white when you navigate to a particular page, i.e. If you click on "Press", when you get to that page, the button stays white, while all the others react in the normal manner. Is this possible?? I have seen it on other sites and it seems like it should be possible. Please let me know. I believe it could be done by creating a separate menu for each page, but that seems like a lot of work. I am sure you have a solution.


A: The 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">Javascript 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: What i am doing is a horizontal menu with submenus opening down vertically. The main menu and sub menu has a background image. These are rather large for a menu and when the sub menu expands i want it to stay below the main menu and not go upwards to cover the main menu when the browser window is too small.


A: Yes, they will stay forcibly below the main menu.

You can use Smart Scrollable Feature. In that case sub menus won't cover
the main menu items. You can see an example here
http://deluxe-menu.com/scrollable-submenus-sample.html

You may specify the exact height for submenus, for example:

  var smHeight="500px";

Use the following parameters to set the direction for submenus:
  var subMenuAlign="left";
  var subMenuVAlign="top";
For more info see:
http://deluxe-menu.com/ways-showing-submenus-sample.html