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: Is it possible, for instance, to call dm_init multiple times in the list menu java? If so, do you have an example?
A: Yes, you can call dm_init(); function multiple times (for example youcan call several data files, or move menuItems array and dm_init();function into your page directly) to have multiple menus on your page.
Q: There seems to be a small checkered rectangle at the top of button menu that I would like to see disappear.
A: See, you have
var tmoveable = 1;
var tmoveImage = "DeluxeMenu/deluxe-tree/img/movepic.gif";
var tmoveImageHeight = 12;
If you want your menu to stay movable you should set the followingparameters to delete rectangle at the top.
var tmoveImage = "";
var tmoveImageHeight = 0;
Q: I have installed all .js files in a subfolder under my html folder. \html\menudir\ all js files are here
My html file is in html folder.
Inserted in HEAD section in HTML file
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">simple 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>
<!-- (c) 2006, http://deluxe-menu.com -->
Later in BODY, used your sample popup javascript data-popup-mode.js file
<script type="text/javascript"
src="menudir/data-popup-mode.js"></script>
<img src="../images/lov.gif" onClick="return dm_popup(1, 2000, event);" style="cursor: pointer;"> When I view the page with simple javascript menu and click on the image, I get an error.
What am I doing wrong?
A: If you have only one menu on the page you should write popup functionin the following way:
return dm_popup(0, 2000, event);