Recent Questions
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: I just purchased deluxe menu and can't seem to figure out how to get a custom onMouseOver and onMouseOut event to work on a javascript drop down menu item.
Could you please detail how to do this?
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item.
However, you can achieve this by using standard html objects within javascript drop down menu items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
Q: Do you have an extremely simple example of modifying a menu with the JavaScript API? I've played with the example on the site, but I have trouble removing the other menus without breaking it.
I just want to use the API to change the icon on the menu items.
A: You should use the following function:
function dm_ext_changeItem (menuInd, submenuInd, itemInd, iParams)
<script language="javascript" >
dm_ext_changeItem(0, 0, 1, ["", "", "new_icon.gif", "new_icon_o.gif", "",,""]);
</script>
Q: A few of my users have reported issues with the menu like the one below. Where the drop down menu is just a white box with a little scroll bar in it. Can you please let me know how I might correct it or what is wrong? We are using version 2.4.
A: I've just checked your website. It works fine.
You can have such effect when the page entirely was not loaded yet. So, images were not loaded yet.
If you don't want to have such effect you can try not to use back images for the submenus.