Recent Questions
Q: I've now begun to offer my clients multiple levels offunctionality. Is there any way to add another level of complexity to the php drop down menu? Would AJAX Menus be the best approach for doing this?
A: You can do it in three ways now.
1) You can use API functions to generate items dynamically:
function dm_ext_createSubmenu (menuInd, submenuInd, itemInd, iParams)
function dm_ext_addItem (menuInd, submenuInd, iParams)
See more info:
http://deluxe-menu.com/functions-info.html
2) Use AJAX feature and create different .js files depend on company and user level.
3) Generate your menu items dynamically from database.
Unfortunately we don't have working example with ASP.
You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.
However, these scripts don't work inside of Javascript .js files, so,
you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- Deluxe Menu -->
<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>
<!-- (c) 2008, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
Q: I got the menu to display across frames, but it displays differently in Firefox & Mozillavs. Internet Explorer. Is that to be expected?
In The Mozilla-based browsers, the submenu butts right upunder the main menu – which is how I want it. In IE, it is about 10 pixels below.
Also, I can’t get the submenus to drop down directly under the main menus – they are offset by about 100 pixels to the right.
A: The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, sosubmenus drop down with an offset.
You should create the following frameset structure:
--|------------
   | menu
--|------------
   |
   | submenus
   |
Now a top row has 2 columns and all browsers can determine awidth of the 1st column in the second row.
Q: I am using cross frame menu dropdown. I have three frames: Top, Left and main (middle).
I am using the script and data from your sample file; it works fine. Only problem is submenu is offset to the right. It does not show up exactly down below the top menu.
What could be the problem?
A: Deluxe Menu doesn't work correctly (incorrect submenu position) if youhave complex frame structure.
The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, so submenus drop down with an offset.
You should create, for example, the following frameset structure:
--|------------
| menu
--|------------
|
| submenus
|
Now a top row has 2 columns and all browsers can determine a width of the 1st column in the second row.
You should write init function in the following way in that case:
dm_initFrame("mainframe",1,3,0);
Q: We have two frames in a frameset, one for the menu and one for the content where the javascript menu frame expands normally without any problem. Our content frame's source is determined dynamically. The problem occurs when the content frame contains a page with another frameset in it. Unfortunately we can not avoid this for now. And when this happens our menu stops expanding.
A: Unfortunately it is really possible that you'll have problems in thatcase because the index of the content frame will be changed.
For example now you have:
<frameset id="frmSet">
<frame> //menu index=0
<frame> //content index=1
</frameset>
Your init function will be:
dm_initFrame("frmSet", 0, 1, 0);
But if you'll have frameset instead of content frame:
<frameset id="frmSet">
<frame> //menu index=0
<frameset>
<frame> // index=1
<frame> //content index=2
</frameset>
</frameset>
You should write your init function in the following way:
dm_initFrame("frmSet", 0, 2, 0);
You should change your javascript menu frame init function in that case.