Recent Questions
Q: Do I need to replace the menudir/ in the code with the name of the folder I have placed the .js files?
A: Yes, you should change the name of the folder.
If you have, for example such file structure:
deluxe-menu_files/
dmenu.js
data.js
images/
html_pages/
page1.html
page2.html
index.html
So, you should install your menu in the following way:
<head>
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "deluxe-menu_files/";</script>
<script type="text/javascript" src="deluxe-menu_files/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
</head>
<body>
<script type="text/javascript" src="deluxe-menu_files/data.js"></script>
</body>
</span>
Q: Can data be loaded dynamically?
For example, can your dhtml menu source code load the child of a node once the node is clicked on?
A: You can use AJAX like technology.
http://deluxe-menu.com/ajax-technology-menu-sample.html
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: Is there a way to have the menu stay expanded in the same exact state when
I click on a menu item of the javascript tree view and go to a new page?
A: There is no need to write additional code on a server side to remember what items were expanded/collapsed.
DHTML Tree Menu can save items state automatically.
Please, see the example of the menu that works with cookies:
http://dhtml-menu.com/tree-examples/tree-menuxp-save-state.html
Set the following parameter:
var tsaveState = 1;
and the menu remembers its structure for each user who visit your page.
Try to expand/collapse items. Then reload the page and you'll see results.
Q: I created a test page with your product. I have a frame page consisting of a header and content.
The drop down menus are in the header and cross nicely into the content frame when they drop down. This part is working as planned! The first time I open the test page in my browser any link in any drop down menu will work the first time just fine.
Then, if I pick another link in any drop down menu, it appends the address of the first link to the address of the second link and the URL fails.
It is acting like it writes the url for the first link into some variable, then forgets to null it on select, and then appends the url for the second link to the variable. As I click links in different drop down menus it keeps doing this append feature until I have a very long worthless URL path. If I close the browser and start over then the first thing I click on will work properly, but that is all that will work.
I tried this test page on two different PCs, just in case there was a problem on my browsers. MS IE.6.0
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.