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: My submenu is not display at the good position with Firefox.
Look at my web site with Firefox. Select item menu 'Inscription' and you'll see the problem.
Note: mainmenu.js is relative positioning. The table tag is absolute positioning.
A: Try to write so:
<TABLE id=Table60style="Z-INDEX: 803; LEFT: 295px; POSITION: absolute; TOP: 114px">
<TBODY>
<TR>
<TD style="POSITION: absolute;"><NOSCRIPT><A href="http://deluxe-menu.com/">Javascript Menu by Deluxe-Menu.com</A></NOSCRIPT> <NOSCRIPT>MainMenu</NOSCRIPT>
<SCRIPT language=JavaScript1.2 src="deluxe_files/MainMenu.js" type=text/javascript></SCRIPT>
</TD>
</TR>
</TBODY>
</TABLE>
Q: Hi - I've turned on tsavestate which works, but it acts erratically. I have my javascript cascade menu .js file in a /js folder, and the site has multiple directories, but all the pages in all directories use the same menu SSI include, which uses the same deluxemenu code in the common /js folder. I read your KB article about states, cookies and multiple folders, but it is confusing... does it actually save state per directory, versus per the entire domain? I only have one menu for the entire site.. just would like it to save state correctly for all pages in all folders that include that javascript cascade menu.
A: It's a feature of the browser. It creates different cookies for eachsubdirectory.The only way is to place all your pages in the one directory.
Q: The menu maps to the width size of the longest menu item on the list, can you tell me how I can restrict this, and have a fixed menu size.
A: Unfortunately it is really so.
You can try to wrap your text.
You should set the following parameter:
var noWrap = 0;
or use <br> tags within menuItems.