Recent Questions
Q: There is a default gap between two collapsible javascript menu buttons. Suppose the two menu are "Company profile" and "Service", there is a default gap between those tow , it is not taking the specified space( for example I am putting 2px gap but it is taking a default gap) Please suggest me the solution for the same.
A: You should use new parameter in the data file:
var tXPMenuSpace=0;
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: I just noticed as well that I cannot change the spacing of the buttons.
Right now the buttons are tight together, how do I create a gap between each dhtmlmenu button?
A: You can paste the separator.
Please, see the following parameters:
//------- Separators -------
var separatorWidth = "10";
var separatorHeight = "20";
var separatorAlignment = "center";
var separatorImage = "C";
var separatorVWidth = "150";
var separatorVHeight = "10%";
var separatorVImage = "image.jpg";
You can create separators using menuItems, for example:
var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];
You can also use this parameter:
var itemPadding = "4px";
You can also set multiple values, for example:
"2px 15px 5px 5px";
(top, right, bottom, left)
Q: We are unable to get sub-menus to appear on page load or rather simulate a "windows application style menu".
How can we in combination with the java menu api function dm_ext_setPressedItem get the associated sub-menu to display? This function simply sets the item to "pressed" rather than actually showing the sub-menu. Attempts at beginning an item's text value with "+" only works with Deluxe Tree.
Again, we are trying to use the menu not only as a navigator but also as a visual aid for the user to determine what page they are viewing. For example, when a user clicks on a menu item and that page loads, the menu should display the top-level item pressed, the sub-menu group, and the item pressed.
Furthermore, it would also be useful if we could then "unlock" the pressed items and navigate the menu under normal circumstances.
If there are no existing "quick" functions to accomplish this, could you please point out the function in dmenu.js or another engine file that initiates the display of sub-menus, we could then force the menu to select a top-level item in the onload event thus showing a top-level item pressed along with it's related sub-menu.
A: Unfortunately Deluxe Menu doesn't have such a feature now. It is notpossible to set parent item highlighted, expanded submenu group andhighlighted submenu item.
You can do it using Deluxe Tree now only.