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 client wants their drop down navigation to lock into place when someone visits a page. Is there a way to do this?
Right now it disappears when you click the link.
A: I suppose that you're saying about submenus.
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: I am setting up a 3 tab script and each tab opens a new page butthe state of the tab selected reverts back to the default tab.
How do I keep the tab selected for the html vertical tabs when advancing to the next tab (new page)?
A: You should change the selected tab depending on the page you are now.
This Tabs menu can save pressed item automatically within1 page only.
If you open another page, the menu can't remember presseditem.
You should do that manually using Javascript and menu parameters( var bselectedItem) or
using any server-side script (php, asp, etc.)
Deluxe Tabs doesn't support API functions which can return theselected tab.
So, you can set "bselectedItem" parameter based on your link beforeyou call data.js file.
For example, move "bselectedItem" parameter from data.js file to yourcode.
<TD vAlign=top align=left>
/* Select Tab */
<script type="text/javascript" language="JavaScript1.2">
var bselectedItem=<?php echo $seltabs; ?>;
</script>
<SCRIPT src="data.js" type=text/javascript>
</SCRIPT>
</TD>
You should define seltabs using server side script.Q: I have managed to insert a separator in a menu and set the image path but the separator image does not show.
Is there anything else I need to do?
A: Please, see the following parameters:
//------- Separators -------
//--- Separators
var separatorImage="";
var separatorWidth="5";
var separatorHeight="100%";
var separatorAlignment="right";
var separatorVImage="images/public/separator.gif";
var separatorVWidth="3";
var separatorVHeight="100%";
var separatorPadding="";
You should set a separator in the menuItems, for example:
var menuItems = [
["Home","index.cfm", , , , , , , , ],
["-"],
["About Us","about.cfm", , , , , , , , ],
];
Try that.