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 am still struggling with multiple menus on one page.
It is probably something I am doing wrong, but I cannot see it.
A: Now you have:
var absolutePos=1;
var posX="10";
var posY="10";
So, both of your menus have the same absolute position.
You can use relative position and place your menu inside <table>. In this case you should write so:
var absolutePos=0;
Q: We are using the javascript drop down menu code to create an external link. The absolute path is recognised but it does not work. At the bottom of the page the browser displays an "error on page" message and nothing happens.
A: Now you have
<script type="text/javascript"> var dmWorkPath = "wdmenu.files/";</script>
<script type="text/javascript" src="wdmenu.files/dmenu.js"></script>
<script type="text/javascript"> var dmWorkPath="wdtabs.files/";</script>
<script type="text/javascript" src="wdtabs.files/wdtabs.js"></script>
The second call for dmWorkPath is incorrect. Delete it. So you'llhave:
<script type="text/javascript"> var dmWorkPath = "wdmenu.files/";</script>
<script type="text/javascript" src="wdmenu.files/dmenu.js"></script>
<script type="text/javascript" src="wdtabs.files/wdtabs.js"></script>
Your menu will work correctly.
Q: With the new version, my body onload function is blocked.
In our application we do something with a body onload function.
It doesn't get called if I use the deluxe-menu. If I remove deluxe-menu js files from html, it works.
Is there a way I can use deluxe-menu and get my onload handler called?
A: Deluxe Menu detects any user's onload events and remember them in the case when you write a such events before dm_init(); call.
Try to delete onload event from <body> and write the following at theend of a page (after dm_init() call):
<script type="text/javascript"> onload = onloadHandler;</script>
That should work.