Recent Questions Vertical Tree Menu Javascript
Q: We are registered users of the JavaScript Tree 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 JavaScript Tree Menu.
Q: Is there any way through script to call the function that would be called if the user clicked a dhtml tabbed menu?
A: You're able to use Javascript for each item, for example:
var bmenuitems = [
["item text", "javascript:your_code_here"]
];
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 bmenuitems = [
["<div onClick='your_code_here'>item text</div>", "index.html"]
];
Q: I would like to reduce or remove the indentation between submenus. That way I can save space for the menu. How can I set indentation?
I would like to change the height of the submenu items (no icons used). How can I do that?
A: Unfortunately, you cannot reduce the indent between main items inXP-Style.
To reduce the indentation between submenus you should set thefollowing parameter:
var titemHeight=15;
Q: I would like to setup a menu that is Horizontal at level 1,Horizontal at level 2, then vertical from then on. Can your system handle this? Even if I need to manuallytweak something that would be fine.
A: Unfortunately, the menu can't do that. You can only set theorientation for the top-menu and its submenus.