Recent Questions
Q: The spacing between each item of the top horizontal dropdown menu is uneven but I don't know why.
If you highlight them all it becomes more obvious.
It is almost as if the space after a 2 word link is twice the space after a one word link or else the total space after each link is related to the number of letters in the link.
For example the space after 'Discounts' is greater than the space after 'Home' but the space after 'Envelope Printing' is even greater.
A: You can try to set the following horizontal dropdown menu parameters:
var menuWidth="";
var itemPadding="0px 10px 0px 10px";
Q: Is there any way to call a javascript function on mouseover from a menu item?
A: You can use your own javascript functions in the menu items.
You should paste "javascript:some_function()" into item's link field, for example:
var menuItems = [
["text", "javascript:your_function(...)", ...]
];
var menuItems = [
["item text", "javascript:alert('Hello World')", , , , ,]
];
Unfortunately, you can't assign onmouseover/onClick event to each item. However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onMouseover='your_code_here'>item text</div>", "index.html"]
];
Q: 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: The menu files need to be in EVERY directory that there is a page calling these files?
A: No you can use one folder with engine .js files.
But in your html pages you should write correctly your dmWorkPathparameter:
< script type="text/javascript"> var dmWorkPath = "./menudir/";</script>
and call dmenu.js file from the right place
<script type="text/javascript" src="./menudir/dmenu.js"> </script>