Recent Questions
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 now wish to dynamically change the drop down menu in html parameters. For this, I have set the following parameters:
// Dynamic Menu
var dynamic=1;
1.Please send me the reference link for the dynamic menu commands available (for javascript).
2.Now AFTER initialization, dm_init();, I wish to change the default var itemTarget="Sub_Main";
How do I do that??
A: You can find more info about API functions here:
http://deluxe-menu.com/functions-info.html
Unfortunately it is not possible to change drop down menu in html parameters ( var ...)after menu initialization.
So, there is no way to change
var itemTarget="Sub_Main";
But you can change target for each item individually (targetparameter in menuItems) using dm_ext_changeItem function.
var menuItems = [
[text, link, iconNormal, iconOver, tip, target, itemStyleInd, submenuStyleInd, jsFilename],
[text, link, iconNormal, iconOver, tip, target, itemStyleInd, submenuStyleInd, jsFilename],
...
];
Q: I notice in your examples that your menus are horizontal and then drop down.
Is it possible to configure dhtml menu generator for vertical menus with submenus going left to right?
A: Yes, it is possible.
You should set the following parameter:
var isHorizontal=0;
Q: I like your product a lot. These are the features that, unfortunately, cannot be done and hope that you can address them. I will place the order right away if these are resolved:
1. For each individual item, allow attaching a customized javascript to fire up "onclick" and "nomouseover".
2. Allow using a variable size icon for each item.
A: 1. You're able to use Javascript for each item, for example:
var tmenuitems = [
["item text", "javascript:your_code_here"]
];
Unfortunately, you can't assign onmouseover event to each item.
However, you can achieve this by using standard html objects withinitems, for example:
var tmenuitems = [
["<div onmouseover='your_code_here'>item text</div>", "index.html"]
];
2. DHTML Tree Menu uses constant icon size for all icons.
If you wantto use different icon dimensions, you can use standard <img>elements within items:
var tmenuitems = [
["<img src='icon.gif' width=10 height=10>item text", "index.html"]
];