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 I can set left align for the arrows in my drop down menu templates?
var arrowImageSub=["arr_1_blk.gif","arr_1_red.gif"];
A: If you want that your arrows will appear on the left side you shouldset:
var dmRTL=0;
parameter.
Q: I want javascript navigation menu to lock into place when someone visits a page. Is there a way to do this?
A: Try to set the pressed item using the following API function:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion, parentOpen)
Sets a current pressed item.
menuInd - index of a dynamic menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
parentOpen = true/false - open all submenus to show the selected item
See example here:
http://deluxe-menu.com/highlighted-items-sample.html
Try to click 'Highlight "Product Info/Installation/Description ofFiles" item'.
You can also try to use the following parameter:
var smHidePause = 1000;
A delay (in ms) between mouse is moved from submenu and its closing.
You can make submenus to stay visible till you click outside the menu or scroll your page.
To enable this feature you should set this parameter in the following way: var smHidePause = -1;
Q: My site requires me to regularly update the menu by inserting a new menu item at the top of the list. Creating a sub-item automatically places it at the bottom and I haven't yet found a way to move java animated menu items to the top apart from manually editing the data.js file.
A: You should use new engine files v3.2.5 and add items using thefollowing function:
function dm_ext_addItemPos (menuInd, submenuInd, iParams, Pos)
Adds the new item to a submenu.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0. See more info about indexes here.
iParams = [array] - the array of item parameters. This parameter has the same structure as an item in menuItems array. You can assign parameters of another existent item of the menu (for example, when you want to create a duplicate of the existent item) or create new ones.
Structure of iParams:
[item_text, link, icon_normal, icon_over, tip, target, individual_style_index, jsFilename]
Pos - the position in the menu where you want to add new item.
Find more info:
http://deluxe-menu.com/functions-info.html