Recent Questions
Q: I was looking for a feature to reverse the order of items added dynamically to the drop down html menu
I'm not sure where to find it or how to go about getting this new feature incorporated into my code.
Could you please help me and tell me where to go next?
A: To add your items dynamically in the specific position you should usethe following function:
dm_ext_addItemPos(mInd, smInd, iParamsArr, Pos)
where Pos - the position in the menu where you want to add new item(starts with 0).
Check that you have dmenu_dyn.js file in the same folder with dmenu.js
file and set
var dynamic=1;
parameter.
Q: Sorry to bother you again, but we've done everything suggested in your fix regarding flash obscuring the multiple drop down menu, but we're still having the same problem in Firefox.
We've - set the parameter in the data file to - var dmObjectsCheck=1;
We've added the following to the start of the data file -
function dm_ext_ruleObjectHide()
{
return false;
}
We've embeded the flash as suggested to -
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
height="150" width="732" name="if-header">
<param name="movie" value="images/flash/if-header.swf">
<param name="quality" value="best">
<param name="play" value="true">
<param name="wmode" value="opaque">
<embed height="150" name="if-header"
pluginspage="http://www.macromedia.com/go/getflashplayer"
src="images/flash/if-header.swf"
type="application/x-shockwave-flash" width="732" quality="best"
wmode="opaque" play="true">
</object>
But still our multiple drop down menu sits behind the flash. Are we missing something else?
A: See it is necessary to have opaque parameters in <object> and <embed>tags to display submenus correctly in Firefox.
So, you should open .js file for your flash and find "embed" and"object" words.
And add opaque parameters, for example:
swfNode = '<embed type="application/x-shockwave-flash" wmode="opaque" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
var params = this.getParams();
for( var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
var pairs = this.getVariablePairs().join("&");
if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
swfNode += '/>';
} else { // PC IE
if (this.getAttribute("doExpressInstall")) {
this.addVariable("MMplayerType", "ActiveX");
this.setAttribute('swf', this.xiSWFPath);
}
swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') + '">';
swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" /> <param name="wmode" value="opaque"> ';
var params = this.getParams();
for( var key in params) {
swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
}
Q: Pls help me with another question.
I have an horizontal menu in which the submenus drop down (as in example # 1 you have in your web).
For the first level items (which are horizontal), I do not want item spacing or itemPadding, that is:
var itemSpacing=0;
var itemPadding=0;
However, for the second and third level menu items, that drop down, I do need spacing and padding, like this:
var itemSpacing=1;
var itemPadding=1;
How can achieve this if, we have only one set of parameters??
Thank you very much and best regards
A: You should use Individual Styles.
You should set the following parameters:
var itemSpacing = 0;
var itemPadding = 0;
and create individual style for submenus
var menuStyles = [
["menuBackImage=images/subm_back.gif","itemSpacing=1","itemPadding=1"], // add Spacing and Padding to the style which is used for the third level menu items.
["columnPerSubmenu=2"],
["itemSpacing=1","itemPadding=1"], //style 2
];
You should assign this style for the second and third level menu items
["DHTML Menus","", "images/icon1.gif", "images/icon1o.gif", , , , , , , , ],
["|The Deluxe Menu","http://deluxe-menu.com",
"images/icon2.gif", "images/icon2o.gif", , , , "2", , , , ], // assign Style 2
["||Features","", "images/icon3.gif", , , , "0", "0", , , , ], // assign Style 0
["|||First Column","", , , , , "0", "1", , , , ],
["|||Second Column","", , , , , "0", , , , , ],
["||Cross-frame Mode","", "images/icon5.gif", "images/icon5o.gif", , , "1", , , , , ],
["||Easy Installation","", "images/icon5.gif", "images/icon5o.gif", , , "1", , , , , ],
["|The Deluxe Tree","http://deluxe-tree.com", "images/icon2.gif", "images/icon2o.gif", , , , , , , , ],
...
Q: I have the cursor set as pointer – on some of the top menu items there is no link behind it yet the cursor still turns to a pointer.
Is there any way to have it so it only becomes a pointer if there is a link?
A: Unfortunately, you can set different cursor type for the menu items.