Recent Questions
Q: We are testing you menu in our application. It is being used in cross frame mode. It works very nicely except a couple issues.
The main one is after loading a new page in the sub menus window when I go back to the main menu to select another option but on the initial mouse over it takes several seconds for the menu to come up. Once the delay of loading the initial submenu is over it loads all others very quickly until a new page is loaded again. Is there a way to optimize the menu to reduce this load time? I have already set dm_writeAll=0 but that only increased the speed of the initial display of the main menu.
And the other question is does the dmObjectsCheck option work in cross frame mode? I have it set =1 and the submenus still underneath objects (such as select list) which have a higher z order.
A: Try to do the following:
move all <script> calls into <head>, but delete dm_initFrame()function from data .js file -- move them instead of files calls, i.e.:
<head>
<script src=data.js>
...
</head>
...
<div><script>dm_initFrame("frmSet", 1, 2, 1); </script></div>
It this case data will be loaded when <head> will load, but after thatmenus must be shown quickly.
Let me know about results.
Deluxe Menu overlap select objects in cross-frame mode.
Q: I'm am try to use your Deluxe drop down menu generator and can not get it to work..
A: Unfortunately we don't have step by step tutorial yet.
We'll try to create it in the nearest time.
1. Create your menu in Deluxe Tuner.
When you open Deluxe Tuner you can click "File/New"and add items and subitems using buttons "Add Item" and "Add Subitem" onthe main window.
You should set items and subitems parameters on the "Item Parameters"window.
See also other parameters for the menu on the main window.
More info about menu parameters you can find on our site
http://deluxe-menu.com/parameters-info.html
http://deluxe-menu.com/menu-items-info.html
You can also use Individual Styles for items and subitems
http://deluxe-menu.com/individual-item-styles-info.html
http://deluxe-menu.com/individual-submenu-styles-info.html
2. You should install the menu on your page.
You can click, for example, File/Export to HTML.
So, you'll have folder with all engine files and images("Deluxe-menu.files/" folder by default), Deluxe-menu.html file anddata-Deluxe-menu.js file with all menu parameters.
Open Deluxe-menu.html file in any text editor and copy several rows ofcode into your page (for example index.html page of your website).
Copy and paste several rows into your html page (index.html).
<head>
...
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">drop down menu generator by deluxe-menu.com</a></noscript>
<script type="text/javascript"> var WorkPath="Deluxe-menu.files/";</script>
<script type="text/javascript" src="Deluxe-menu.files/dmenu.js"></script>
...
</head>
<body>
...
<table>
<tr><td><script type="text/javascript" src="Deluxe-menu.files/data-Deluxe-menu.js"></script></td></tr> //data-Deluxe-menu.js - data file
created in
Deluxe Tuner.
</table>
...
</body>
You should also copy "Deluxe-menu.files/" folder with all engine files
dmenu.js
dmenu4.js
dmenu_add.js
dmenu_dyn.js
dmenu_key.js
dmenu_cf.js
dmenu_popup.js
dmenu_ajax.js
dmenu_search.js
and data-Deluxe-menu.js file into the same folder with your index.html page.
Try that.Q: Is there any way through script to call the function that would be called if the user clicked a dhtml tabbed menu?
A: You're able to use Javascript for each item, for example:
var bmenuitems = [
["item text", "javascript:your_code_here"]
];
Unfortunately, you can't assign onmouseover/onClick event to each item.
However, you can achieve this by using standard html objects within items, for example:
var bmenuitems = [
["<div onClick='your_code_here'>item text</div>", "index.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] +'" />';
}