Recent Questions
Q: We want the javascript dhtml drop down menu which have sub menu to have a arrow, so that the visitor know that they have to cliek there. We have put in arrow on the tab which are having drop downs, but on mouse over to the single javascript dhtml drop down menu also it is showing the arrow and another problem is that when the drop down is used then there after the arrow is no more visible.
A: You can create Individual XP Style and use it for items with submenus:
var tXPExpandBtn=["left.files/blank-arrow.gif","left.files/blank-arrow.gif", "left.files/blank-arrow.gif","left.files/blank-arrow.gif"];
var tXPStyles = [
["tXPExpandBtn=left.files/menu-arrow.gif,left.files/menu-arrow.gif, left.files/menu-arrow01.gif,left.files/menu-arrow01.gif"],
];
and assign this style for all top items with submenus:
["+Company Profile","", "", "", "", "", "", "0", "0", "", ], //style0
["|Item 25","", "", "", "", "", "", "1", "", "", ],
["|Item 26","", "", "", "", "", "", "1", "", "", ],
["+Projects","", "", "", "", "", "", "0", "0", "", ], //style0
["|Item 27","", "", "", "", "", "", "1", "", "", ],
["|Item 28","", "", "", "", "", "", "1", "", "", ],
["+Services","", "", "", "", "", "", "0", "0", "", ], //style0
Try that.
Q: Do you have an extremely simple example of modifying drop down menus with the JavaScript API?
A: You should use the following function:
function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
<script language="javascript" >
dm_ext_changeItem(0, 0, 1, ["", "", "new_icon.gif", "new_icon_o.gif", "",,""]);
</script>
Q: Thank you for your reply. I have run the example sent by you. Your dhtml menu example has horizontal menus and it hides all the menus.
But I am using xp vertical menu. In that I have Home,Sales,Customer Support,Reports,Access Control menus.
For Admin login I need all the menus including submenus.
But for employee login i need Home , Sales, Customer Support menus and i need only few sub menus only.
Please help me with this issue.
A: You can try to use API functions in that case:
function dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
More info:
http://www.deluxe-menu.com/functions-info.html
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] +'" />';
}