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 want to run a javascript function when a user clicks on item in the dhtml pop up menu,
How can I do this in the data file?
A: You can use your own Javascript code instead standard links. For example:
var menuItems = [
["text", "javascript:your_code_here"]
];
Q: I would like to separate each main menu item in a dhtml menu bar with a dotted line graphic.
A: To add a separator you should
//--- Separators
var separatorImage=""; //for subitems (top items in vertical menu)
var separatorWidth="100%";
var separatorHeight="3px";
var separatorAlignment="right";
var separatorVImage="separator.gif"; //for the top items (subitems items in vertical menu)
var separatorVWidth="100%";
var separatorVHeight="2px";
var separatorPadding="";
You can create separators using menuItems, for example:
var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"],
];
Q: I am having a problem trying to get my scrolling menu javascript to work correctly with frames.
My web page is frame based. There are THREE (3) Rows. The top roe is "header" and the bottom row is "footer". The center row is divided into TWO (2) columns. The left is "contents" and the right is "main". This is a very standard configuration.
I have created a menu called "member-menu" and added it to the "content" html file. I have edited the "member-menu.js" file to add the "dm_initFrame("FrmSet",0,1,0); at the end of the file. Using the instruction provided when the scrolling menu javascript was saved. I then uploaded all of the required file to my server. At this point everything is fine, I go to a password protected page in the "\members" folder and this seems to work also. When I try to go to a "submenu" it wants to expand to the right in the "content" FRAME. I need it to expand into the "main" FRAME on the right.
I know that I am doing something wrong. I have read the instructions a dozen times and can't find the problem.
A: You should write the ID of your frames correctly, for example now youhave:
header - 0
contents - 1 (frame with the menu)
main - 2 (frame with submenus)
bootom - 3
In that case you should write init function in the following way:
dm_initFrame("FrmSet",1,2,1);
where - dm_initFrame("FrmSet",frame with the menu,frame with submenus,1);
Try that.
See more info here:
http://deluxe-menu.com/cross-frame-mode-sample.html