Recent Questions
Q: I have generated my navigation menu bar and want to incorporate it into my current website.
How do I resize and position the navigational menu inside a table?
A: 1) Resize:
You could specify exact width for menu using that parameter:
var menuWidth="400px";
You can also set exact width for each top item using Individual Item Styles:
var itemStyles = [ ["itemWidth=120px"],];
var menuItems = [ ["Item 1","", "", "", "", "", "0", "", "", ],
["Item 2","", "", "", "", "", "0", "", "", ],
["Item 3","", "", "", "", "", "0", "", "", ],
["Item 4","", "", "", "", "", "0", "", "", ],
["Item 5","", "", "", "", "", "0", "", "", ],
];
2) Position the navigational menu inside a table:
You can paste the menu inside the <div> or <table> tag, for example:
<DIV align=center>
<SCRIPT src="data/data.js" type=text/javascript>
</SCRIPT>
</DIV>
<table width=800>
<tr>
<td align=center width=600><script type="text/javascript" src="data/data.js"></script></td>
</tr>
</table>
Q: May I can use PHP code in menu items of my dhtml website navigation menu?
A: 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) 2006, 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.)
];
</script>
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 created a custom error page for a site, but the menu would not display.
I found that this was due to the erroneous "current directory" in the bad link test, for a non-existent directory.
which is: level2/level3/
I changed the script code from:
<script type="text/javascript"> var dmWorkPath = "DMworkfiles/";</script>
<script type="text/javascript" src="DMworkfiles/dmenu.js"></script>
to:
<script type="text/javascript"> var dmWorkPath = "DMworkfiles/";</script>
<script type="text/javascript" src="/DMworkfiles/dmenu.js"></script>
adding the "/" before "DMworkfiles/dmenu.js" source reference allowed the .js file to be found in the root directory and the menu would display.
The problem is that the little menu "expansion" arrow .gif cannot be found in the "current working directory" of level2/level3/. just little "blanks" show.
I tried changing:
var dmWorkPath = "DMworkfiles/";
to:
var dmWorkPath = "/DMworkfiles/";
but that did not enable the display of the arrows.
I also had to prefix all of the links in the menu with a "/" to indicate the root directory because of the "current directory" for the bad page.
I hope I have explained the problem sufficiently.
What am I doing wrong or missing here?
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters
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.