Recent Questions
Q: What i am doing is a horizontal menu with submenus opening down vertically. The main menu and sub menu has a background image. These are rather large for a menu and when the sub menu expands i want it to stay below the main menu and not go upwards to cover the main menu when the browser window is too small.
A: Yes, they will stay forcibly below the main menu.
You can use Smart Scrollable Feature. In that case sub menus won't cover
the main menu items. You can see an example here
http://deluxe-menu.com/scrollable-submenus-sample.html
You may specify the exact height for submenus, for example:
var smHeight="500px";
Use the following parameters to set the direction for submenus:
var subMenuAlign="left";
var subMenuVAlign="top";
For more info see:
http://deluxe-menu.com/ways-showing-submenus-sample.htmlQ: We are registered users of the Deluxe Menu software. Today I tried to use the Javascript API, but there is something I do not understand and want to ask for support.
First, I set up a very simple menu:
var menuItems=[
['Menu 1'],
['|Submenu 1'],
['Menu 2'],
['|Submenu 2'],
];
This menu is built via dm_init().
Then, I inspect the menu (in Firebug):
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
Ok, there are three submenus. Now I am going to delete one of them:
>>> dm_ext_deleteItem(0, 0, 1)
"Menu 2" disappears on the screen, this works as expected. But now when I re-inspect the menu using the API, I find that the API reports exactly the same as before:
>>> dm_ext_getSubmenuParams(0, 0)
["dm0m0", 2, "", 0, 1]
>>> dm_ext_getSubmenuParams(0, 1)
["dm0m1", 1, "dm0m0i0", 1, 0]
>>> dm_ext_getSubmenuParams(0, 2)
["dm0m2", 1, "dm0m0i1", 1, 0]
So, it seems the report function continues to know about the original menu structure and reflects it. Am I using the API in a wrong way?
The problem I want to solve is to remove the entire menu dinamico dhtml, in order to rebuild it dynamically. Because I did not see a function aimed to this functionality, my plan was to delete all main menu entries subsequently until the main menu inspector no longer reports an entry. Is there (a better) way to achieve this?
A: Unfortunately, dm_ext_deleteItem() only change visibility of theseitems.
It doesn't delete them completely.
We'll try to fix it in the next versions of Deluxe Menu.
Q: How do I set the width of sub menu items to be the same width as the parent horizontal dhtml menu item? I can see how to set a px or % width, and when the at least one sub menu item exceeds the parent item the the entire menu stretches to that width (which is fine), but what about the instance where the sub menu items are not as wide as the parent item - in this case, the sub menu is not as wide as the parent item, which looks odd. Is there any way to force it to be (at least) the same width as the parent item?
I hope this is all clear to you, if not, please give me a shout for clarification.
A: You can set exact width for your top items using Individual Item Styles and set submenu width usingIndividual Submenu Style.
You should also set the following parameter:
var noWrap=0;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