Recent Questions
Q: I'm a having an issue with my dhtml dropdown menus poping-up behind a flash object on a page. The key to this issue is that the menus work perfectly in our non-secure (HTTP) development environment, but do not work correctly on our secure (HTTPS) beta environment. The code on the 2 environments is exactly the same, and the beta environment does work when viewed in HTTP. Both the flash object and the Deluxe-Menu are called using relative paths, not absolute paths.
Please let me know what additional information you need from me. I appreciate any help you can provide.
A: Check that you're using latest version of engine files - v3.3.
You should add "opaque" parameter for <object> and <embed> tags.
See, how you should install flash on your pages.
<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>
Q: What I would like to see is the ability to have a base site navigation menu with all the definitional entries (size, locations, icons, etc.) defined but all the menuitems be called from an Ajax file.
A: You cannot use ajax submenus for the top items.
But you can use several .js file, for example:
params.js //file with all menu parameters (size, locations, icons, etc.)
all code before
var menuItems = [
...
];
dm_init();
data_ajax1.js //data files for ajax submenus
data_ajax2.js
data_ajax3.js
...
main_data.js - data file with the following code:
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
You can also place this code into your html page directly (in the place where you want tohave a menu):
<script type="text/javascript">
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
Q: The menu has a problem with newlines. The menu builds correctly (layout ok) but when pressed on the button nothing happens
At some point, in the DHTML menu, we have the following in the javascript:
var menuitems = [
["|Print HTML","javascript:alert('HTML print: Only the 7 most recent orders on the screen \n will be printed because of space limitations on paper.');printResult('4'); ","","", ,"_parent",,] ]
As you can see we have a newline (\n) between the words "screen" and "will". But when we click on the button nothing happens. If we remove the newline and we click on the button then we first get the alert box. After pressing the OK button the function printResult is called.
Is there any way for us to still use the newline character in the menuItems variable?
This can be easily reproducible. That's why I haven't made an example.
A: Try to write in the following way \\n:
["|Print HTML","javascript:alert('HTML print: Only the 7 most recent orders on the screen \\n will be printed because of space limitations on paper.');printResult('4'); ","","", ,"_parent",,]
Q: I can not however find the option to move submenus closer together, I have too much ident for my taste.
How can I change that, by hand if that is the only way...
I mean this:
MENU1
+ SUBMENU1
I would like
MENU1
+ SUBMENU1
Is that possible?
A: If you don't want to have icons before item text you can write so:
//------- Icons -------
var ticonWidth = 0;
var ticonHeight = 0;
var ticonAlign = "left";
Your items will be closer to the "+" buttons.