Recent Questions
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.
Q: I'm trying out your menus, and I seem to have a problem with changing the title of a menu item. If the text is something like "Create a New Event" the entire menu spreads out and the rollover image starts replicating itself behind it, instead fo stretching with the text. So I see 1 /2 rollover images for that top level item, instead of just the one, width it's width spread out to accomodate the extra text.
I've tried the Styles bit, but that doesn't seem to fix the rollover image any...
Any pointers ?
A: You can try to set the exact width for each menu item using IndividualItem Styles.
You should use Individual Item Styles.
For example:
var itemStyles = [
["itemWidth=120","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style0
["itemWidth=100","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style1
["itemWidth=130","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style2
["itemWidth=150","itemBorderWidth=1","itemBorderStyle=solid,solid"], //style3
];
["Home","testlink.htm"],
["Samples","testlink.htm"],
["|Group 1","", , , , , "0", , , ],
["|Group 2","", , , , , "1", , , ],
["|Group 3","", , , , , "2", , , ],
...
[" More Samples","testlink.htm"],
["|Group 1","", , , , , "3", , , ],
["|Group 2","", , , , , "1", , , ],
Where "0", "1", "2", "3" - style number in itemStyles.
You also should check the width of your rollover image. It should bethe same width as your items.
You can also use
tags in the item text, for example:
var menuItems = [
["line 1
line 2"],
];
Or you can set this parameter:
var noWrap=0;
Try that.
Q: Is there a way to capture user click event just like the one in the javascript menu sliding?
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
Q: When a user clicks on a javascript flyout menu item, I want to run a javascript function.
How can I do this in the data file?
A: You can use your own Javascript code instead standard javascript flyout menu links. For example:
var menuItems = [
["text", "javascript:your_code_here"]
];