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 noticed as well that I cannot change the spacing of the buttons.
Right now the buttons are tight together, how do I create a gap between each dhtmlmenu button?
A: You can paste the separator.
Please, see the following parameters:
//------- Separators -------
var separatorWidth = "10";
var separatorHeight = "20";
var separatorAlignment = "center";
var separatorImage = "C";
var separatorVWidth = "150";
var separatorVHeight = "10%";
var separatorVImage = "image.jpg";
You can create separators using menuItems, for example:
var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];
You can also use this parameter:
var itemPadding = "4px";
You can also set multiple values, for example:
"2px 15px 5px 5px";
(top, right, bottom, left)
Q: I'm curious to know if this dhtml menu cross frame work with frames. Are there any limitations regarding frames?
I'm thinking of having the tree in a left-hand frame and using it to change two stacking frames to the right. Do you foresee any issues with this plan?
A: Deluxe Menu
There is cross-frame mode in Deluxe Menu, see more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html
Deluxe Tree
You can install your Tree Menu in a left-hand frame and load pages inthe another frames. You can set target using the following dhtml menu cross frame parameter:
var titemTarget = "framename";
Please, try the trial version.
Q: We've used your deluxe menu on a few sites without any issues. We are trying a new site javascript menu system now and having an issue with beforeItemImage and afterItemImage. Below is our data javascript class. The dropdown seems fine in Firefox but the before and after Images are not showing up in Internet Explorer.
We've tried a number of things and can't quite get the tabbed corners in IE. Any suggestions would be greatly appreicated, we need to get this menu live soon for a client of ours. Thank you in advance.
A: Try to specify width and height parameters:
var beforeItemImageW="6";
var afterItemImageW="6";
var beforeItemImageH="19";
var afterItemImageH="19";
We've checked your page in IE6, IE7, IE8. All images displayed correctly.