Recent Questions
Q: I am using JavaScript Deluxe Menu v3.1 and have some problem with the doctype declaration. If I use the declaration:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
the menuBackImage and itemBackImage images do not display properly. Check with and without doctype declaration. Is there a known fix for this?
A: You should specify units in "px" for the javascript menu object.
var itemPadding="15px 10px 0px 20px";
var menuStyles = [
["smColumns=2","itemPadding=25px 10px 10px 10px"],
["itemPadding=25px 10px 10px 20px"],
["menuBackImage=img/nahbp_1.gif","itemPadding=25px 10px 10px 20px"],
];
Q: I am using cross frame menu dropdown. I have three frames: Top, Left and main (middle).
I am using the script and data from your sample file; it works fine. Only problem is submenu is offset to the right. It does not show up exactly down below the top menu.
What could be the problem?
A: Deluxe Menu doesn't work correctly (incorrect submenu position) if youhave complex frame structure.
The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, so submenus drop down with an offset.
You should create, for example, the following frameset structure:
--|------------
| menu
--|------------
|
| submenus
|
Now a top row has 2 columns and all browsers can determine a width of the 1st column in the second row.
You should write init function in the following way in that case:
dm_initFrame("mainframe",1,3,0);
Q: Is there a way to hide a javascript top menu options using either CSS or the java api based on the site user?
(I use ColdFusion for scripting)
A: Deluxe Menu supports Javascript API.
You can find more info here:
http://deluxe-menu.com/dynamic-functions-sample.html
You can try to use API functions in that case:
function dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
To disable items you should set the target parameter to "_".
You can try to use the following function
function disable() {
dm_ext_changeItem(0, 1, 1, ["", "", "", "", "", "_"]);
}
to disable your items.
Q: I would like to know how I indicate on a javascript menu, an item that was selected.
So in other words, if I have a horizontal navigation and I select the 3rd index along the menu
and select something from this, how can I make the 3rd index highlighted?
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">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.