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: How can I open menu on simple link mouse over
<a href=""OnmouseOver="OPENMENU">Smaples</a>
A: You can create pop up menu, see more info here:
http://deluxe-menu.com/popup-mode-sample.html
Q: Is the menu floatable?
I try the setting "float" but no change
A: You can't see floatable or movable effect in Deluxe Tuner preview.
But when your install your menu into the .html page it'll work fine.
Notice, when you use floatable menu you can't use relative menu position.
So, if you use
var absolutePos = 0;
and to center the menu you use <p> or <div> with the center alignment your menu won't float.
To center your floatable menu you should set absolute coordinates.
Q: Compliments on your product, I particularly enjoy the complete set of gui and java, that allows for the quick changes.
After a couple of months of using the trial, I have now purchased it and installed the license.
My question however regards the performance of the menu. Using firebug I note that my deluxe menu .js are the performance bottlenecks, It appears as if they are not being cached and it appears that collecting them is taking longer then the other .js files. What can I do to optimize the load time of the javascript multi level menu and prevent, reloading it from the server with every page reload. The apache has set the expiry correct I believe, as I understand from the header.
A: You can try to use AJAX technology.
AJAX-like technology: data for submenus can be loaded "on-the-fly" from the server.
New parameter:
var tajax = 0/1; - disables/enables AJAX-like support
Current syntax for item parameters ( var tmenuItems):
[text, link, iconNormal, iconOver, iconExpanded, tip, target, itemStyleInd, itemXPStyleInd, jsFileName]
Where jsFileName - .js filename on the server with submenu items ( var tmenuItems).