Recent Questions
Q: Is it possible set a menu item to pressed when a page is loaded when you have multiple drop down menus on the page?
I have 2 menus side by side and I was able to set the pressed item with the JavaScript API as described in your FAQs but when I try to show an item as pressed in a second menu on the same page, the corresponding item in the first menu shows as pressed. Is there a different function that I can use for this or a way to reset the menu ID in the second menu to start from where the first menu left off so I can use the same function?
A: See the first parameter in
dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
function is index of the menu.
So, if you use several menus on the one page you should use differentmenuInd parameter.
For example you have:
<script type="text/javascript" src="menu/data1.js"></script> //menuInd=0
...
<script type="text/javascript" src="menu/data2.js"></script> //menuInd=1
...
<script type="text/javascript" src="menu/data3.js"></script> //menuInd=2
...
<script type="text/javascript" src="menu/data4.js"></script> //menuInd=3
So, for the second menu you should write:
dm_ext_setPressedItem (1, 2, 5)
Q: The only remaining problem I see is that the dhtml popup menu appears in slightly
different positions depending upon where your mouse touches the icon.
Is there a way to make the menu position absolute in respect to the icon?
I have tried playing with the menu item parameters that seemed related with no success.
A: See dm_popup() function parameters:
return dm_popup(menuInd, pause, event, x, y)
menuInd - index of the menu on a page, >= 0.
pause - determines the time when the menu will be hidden.
event - constant. Do not change.
x, y - optional. Set these parameters if you want the menu to appear in the specified place.
In other case the menu will be shown in the mouse position.
Q: Do you have any working examples of a menu generated using .php from a MySQL database?
Our website is dynamic from a MySQL db and we already have categories and sub-categories. It would be useful if we could use this with our deluxe menu.
I don't know how to set this up, so any assistance would be appreciated.
A: You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.
However, these scripts don't work inside of Javascript .js files, so, you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];</script>
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
Q: If you click a list drop menu link in the tree that opens a new page, for example, Solutions:By Type:Psuedo Wire , the link, Psuedo Wire, remains highlighted.
If you click a line that targets _self, for example, Solutions: By Type: T1 Extender, the link does not remain highlighted. My web app will need highlighting and all links will target _self. I have to solve this problem soon or else look elsewhere.
A: It is normal behaviour, your list drop menu can save its state within one page only.
You can try to use frames, and open pages in the content frame. Also you can use aserver-side script (php, asp, vb, etc.) to generate html pages fromtemplates on your server (we use this method on our website
http://deluxe-tree.com).
You should set a pressed item using Javascript API:
function apyt_ext_setPressedItem(menuInd, itemID)
<script type="text/javascript"><br>
var i = 4 //index of the selected item
onload=setPressed;
function setPressed()
{
dtreet_ext_setPressedItem(0,dtreet_ext_getItemIDByIndex(0, i));
}
</script>
To expand specific items you should use the following function: dtreet_ext_expandItem (dtreet_ext_getItemIDByIndex (0, 11), 1);