Recent Questions
Q: I'm trying to shrink the vertical size of the sub-menu entries in my menu:
I think I've specified all the parameters correctly in data.js, but itТs hard to tell what affects the height of the submenu entries. Even reducing the type from 10pt to 8pt didnТt shrink them at all.
A: See, you set the following parameter:
var itemPadding = 7;
That is why you have such a big padding around the items.
If you don't want to change the appearance of the main items youshould create Individual Style for the subitems. For example:
var menuStyles = [
["itemPadding=2px"],
];
And assign this style for the first item in submenu.
Q: I am trying the menu and facing one problem…
The text is too large and doesn't wrap around.. instead it makes the dhtml menu layers wider.
My dhtml menu layers needs to be 175 px only.. if there are to many characters in the link, I like it to wrap around to the next line…
Any options?
A: You should set the following dhtml menu layers parameter:
var noWrap=0;
You can also use standard <br> tags inside item's text:
["All Card <br>Envelopes","", "", "", "", "", "", "", "", "", "", ],
Q: I am intersted in a horizontal drop down menu.
I need the rollover and selected color of each section in the onmouseover drop down menu to be a different color.
Here is my scenario
link1 link2 link3
All links are white.
On rollover, link1 turns red, and the drop down below is red (if possible can each individual link in the the dropdown rollover to a diffrent color, say pink?)
When you click a link in the link1 dropdown, and go to that page, link1 will now be red (highlighted) while on that page, and link2 and link3 are still white.
Now, On rollover, link2 turns blue, and the drop down below is blue(if possible can each individual link in the the dropdown rollover to a diffrent color, say light blue?)
When you click a link in the link2 dropdown, and go to that page, link2 will now be blue, and link2 and link3 are still white. I also need the flyout menus to be able to be different widths. Say the drop down menu under link1 has short links, then it only needs to be 100 pixels wide. If the sublinks under link 2 are longer, its dropdown menu might need to be 200 pixels wide. In other words, the flyout width needs to be flexible to fit the length of the text in the link.
I have tried other programs, but have found none that can do this. The problem seems to be they cant have different width flyout menus (often this is the case if they are css based).
OR
It is not possible to show a 'up' or highlighted color on a main link when you are on a page that is a sublink)
Does this make sense, and is it possible with your builder?
A: Yes, you can create such a menu using Deluxe Menu.
To use different font colors for the main items you should useIndividual Item styles. And to cerate different color and differentwidth of the submenus you should use Individual Item/Submenu styles.
See the attached example.zip. See how you should use styles.
> I also need the flyout menus to be able to be different widths.
Actually the submenu width is depend on the item's size. You can alsowrap item's text. Set var noWrap=0; or use standard <br> tagsinside items' text:
["|very long text <br> in Item 14","", "", "", "", "", "3", "1", "", "", "", ],
You can set exact width for each submenu using IndividualSubmenu Styles.
> When you click a link in the link1 dropdown, and go to that
> page, link1 will now be red (highlighted) while on that page, and
> link2 and link3 are still white.
You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html
Deluxe Menu has only two states normal and mouseover.
Try to do the following things:
- delete var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:
<noscript><a href="http://deluxe-menu.com">onmouseover drop down menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<script type="text/javascript"> var pressedItem=3;</script>
...
<script type="text/javascript" src="menudir/data.js"></script>
You can also set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
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] +'" />';
}