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 have a client that wants a menu bar with all the buttons the same length.
What code might I need to do that
A: You should use individual item styles (you can create it in Deluxe Tuner application). For example:
var itemStyles = [
["itemWidth=110px"], // 0 - number of the style
var menuItems = [
["Home","testlink.html", , , , , "0", , , ], // 0 - style 0
["Product Info","", "default.files/icon1.gif", "default.files/icon1o.gif", , , "0", , , ], // 0 - style 0
["|Features","testlink.html", "default.files/icon2.gif", "default.files/icon2o.gif", , , , , , ],
["|Installation","", "default.files/icon2.gif", "default.files/icon2o.gif", , , , , , ],
.........
Q: Why is it that when we place a drop menu ina div that the droppping part is not right uner the menu? The menu on top banner is the problem.. Thesame code outside of a div futher down the page works fine.
I can place the same menu outside of the div and it works fine.When it is in a div the drop part of the menu is pushed to the far right of the screen.
A: Brian, see, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "POSITION: absolute" attribute of the object if the object doesn't have this property within inline style (style="POSITION:absolute;"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add style="POSITION: absolute;"
to the
<div id="menu">
So, you'll have:
<DIV id="menu" style="POSITION: absolute;">
Q: I'm testing the trial version and I'm having a little problem with the state saving. Everytime it navigates to another page, it does not save the state, even with
var tsaveState=1;
In fact, it actually opens up a different menu other than the one I originally clicked.
A: See, if you open pages (with menus) from different folder it means that you open different menus. So, when you change a state, for example, of the first menu within "newzap/" folder and then open another page with the menu within "newzap/learn/", browsers looks for another cookie file and can't find it and the second menu stays in a default state.
Try to set different
var tsavePrefix="menu1";
var tsavePrefix="menu2";
var tsavePrefix="menu3";
for different menus.
That should work.