Recent Questions
Q: I have just bought the software and created a first menu.
As you can see the sub-menus appear away for the menu/navigation bar.
This doesnТt happen when I put the code into an .html file without any divs.
Can you suggest what the problem might be here?
A: The problem is that the script can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "position" attribute of the object if the object doesn't have this property within inline style(style="position:absolute"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add <DIV id=nav_bar_main>
to the
style="position:absolute;"
So, you'll have:
<DIV id=nav_bar_main style="position:absolute;">
Check that.
Q: I would like to know how I indicate on a javascript menu, an item that was selected.
So in other words, if I have a horizontal navigation and I select the 3rd index along the menu
and select something from this, how can I make the 3rd index highlighted?
A: 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">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>
<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] +'" />';
}
Q: I am in the final stages of testing and need some advice and help.
I have two problems I am trying to address.
1) Arrows on dropdown menu select.
2) Load time.
Please notice, I have to use absolute paths for the dropdown menu select to work.
1) I can't get the arrows to show, so I tried to add the code for images in the first bold sentence below.
2) I tried to add the second line for absolute paths for links to increase load time in the second bold sentence. It appears that the load time is increased by about 3 seconds and that the menu is the last to load, even though I have tried to have this as the first html to load.
Neither one of my commands appear to work.
This site has over 10,000,000 items on it, and I can't wait to get this up and running. Your program is the perfect solution for anybody with a website.
A: 1) Now you have:
var arrowImageMain=["mainmenu.files/arrv_blue_2.gif","mainmenu.files/arrv_white_2.gif"];
var arrowImageSub=["mainmenu.files/arr_blue_2.gif","mainmenu.files/arr_white_2.gif"];
You should set your arrows in the following way:
var arrowImageMain=["arrv_blue_2.gif","arrv_white_2.gif"];
var arrowImageSub=["arr_blue_2.gif","arr_white_2.gif"];
2) Your menu is very large. I advise you to us AJAX like technology.
http://deluxe-menu.com/ajax-technology-menu-sample.html
You can also try the following things:
move all <script> calls into <head>, but delete dm_init() function from mainmenu.js file -- move them instead offiles calls, i.e.:
<head>
<script src=mainmenu.js>
...
</head>
...
<div><script>dm_init();</script></div>
It this case data will be loaded when <head> will load, but after thatdropdown menu select must be shown quickly.
Let me know about results.