Separator Spry Menu by Deluxe-Menu.com
Separator Spry Menu

Menu Screenshots

Separator Spry Menu Javascript Popup Tutorial

Features

Professional Look-n-feel
  • Entirely customizable look-n-feel
  • A lot of pre-designed separator spry menu samples
  • Hundreds of visual effects
  • Custom CSS styles can be applied for all menu settings
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
Tutorial Popup Menu Separator Spry Menu
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!
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



2.0 Buttons by Web-Buttons.com v3.0.0

Javascript Menu. DHTML Menu.

  • Create contextual menus for your pages. For this purpose you should assign a special function for the object you want. The current coordinates of the mouse pointer or your own ones can be used for the contextual menu.
  • 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.
  • Build menus completely based on Cascading Style Sheets. It is possible to appoint the individual CSS styles for separate elements of the menu.

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: I am rewriting my homepage in CSS but now I have another problem with the DeLuxe menu.
The javascript top menu is well positioned on the page but the submenus are not.
The submenus are not positioned aside the javascript top menu but lower and far to much to the right.
I changed the variables

  var posX = 100;
  var posY = 100;
  var absolutePos = 1;
  var topDX = 0;
  var topDY = 0;
  var DX = -3;
  var DY = 0;
  var subMenuAlign = "left";
  var subMenuVAlign = "top";

Sometimes when I change the variables the submenus are well positioned and then, after enlarging the IE-window, they are not.
What can I do?

A: It is possible that you have some problems with your css styles.
See, the problem is that the javascript top menu 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: absolute" attribute of the object if the object doesn't have this property within inline style (style="POSITION:absolute;"). To get the value you should move .css style into style="" attribute.

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

You should add style="POSITION: absolute;"

to the

<div id="block">



Q: The xml drop down menu gets at the back of the flash..Can you tell us the problem?

A: You can try to add the following parameters for flash objects:

<PARAM NAME=wmode VALUE=opaque> and WMODE="opaque" for <EMBED>

It allows to overlap a flash movie by other layers.

For example:
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="120" HEIGHT="40">
<PARAM NAME=movie VALUE="data-samples/flash-deluxe-menu.swf">
<PARAM NAME=quality VALUE=best>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
lt;param name="wmode" value="opaque">
<EMBED src="data-samples/flash-deluxe-menu.swf" quality=best wmode="opaque" bgcolor=#FFFFFF WIDTH="120" HEIGHT="40"NAME="data-samples/flash-deluxe-menu" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>

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.