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: Is there a way to hide a javascript top menu options using either CSS or the java api based on the site user?
(I use ColdFusion for scripting)
A: Deluxe Menu supports Javascript API.
You can find more info here:
http://deluxe-menu.com/dynamic-functions-sample.html
You can try to use API functions in that case:
function dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
To disable items you should set the target parameter to "_".
You can try to use the following function
function disable() {
dm_ext_changeItem(0, 1, 1, ["", "", "", "", "", "_"]);
}
to disable your items.
Q: When I open my site in Internet Explorer 6.0 The main menu showsup nicely but the drop-down sub-menus are separated. The menu work very nicely in a Firefox browser but not in IE.
A: There are some problems also with your css.
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" attribute of the object if the object doesn't have this property within inline style(style="position:relative"). 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:relative;"
to the
<DIV id="right">
So, you'll have:
<DIV id=right style="POSITION: relative;">
Check that.
Q: I'm just trying to get those little vertical spacers between menu items in the drop down menu.How can I do it with Deluxe Menu.
A: Please, see the following parameters of the menu:
//------- Separators -------
var separatorWidth = "10";
var separatorHeight = "20";
var separatorAlignment = "center";
var separatorImage = "C";
var separatorVWidth = "20";
var separatorVHeight = "10%";
var separatorVImage = "image.jpg";
You can create separators between items in the drop down menu using menuItems, for example:
var menuItems = [
["item 1"],
["-"], // this item is separator
["item 2"], ["|item 3"],
["|-"], // this subitem is separator
["|item 4"],
];