Recent Questions
Q: I would like to create navigation menu where the background is transparent until you move the mouse over itwhen it turns to a color. I erased the first color number from the list and that worked, but when I scrolled the mouse over the links, the background stayed light blue even though the mouse was no longer over them. Is there a way to let the background start transparent, turn light blue when the mouse is over it, then go back to transparent after the mouse is off it?
A: You can use transparent parameter, for example:
var itemBackColor=["transparent","#4792E6"];
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 different type of menu, other than the way I have it set up, such as the tree type, that might load faster or take up less space when the page loads?
A: You should set
var dmAJAX=1;
create .js files with your submenus and call this files from your mainfile, for example:
var menuItems = [
["Home","testlink.htm"],
["Product Info","", , , , , , , "data-samples/data-ajax2.js", ],
["Samples","", , , , , , , "data-samples/data-ajax3.js", ],
["Purchase","testlink.htm"],
["Contact Us","testlink.htm"],
];
/*** data-ajax2.js ****/
var menuItems = [
["Features","testlink.htm"],
["Installation",""],
["Parameters Info","testlink.htm"],
["Dynamic Functions","testlink.htm"],
["Supported Browsers",""],
];
Add dmenu_ajax.js file in the same folder with your dmenu.js file.
Try that.
Q: However, when I place it inside a CSS-defined div element (for absolute page placement) the submenu's all drop down a couple hundred pixels.
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: 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="menu">
So, you'll have:
<DIV id="menu" style="POSITION: absolute;">
Try that.