Recent Questions Mx Tree Style
Q: I'm using the deluxe-tree; my dynamic tree menu is very long; and the page has a vertical scroll bar as a result. My question is, does the dynamic tree menu support anchors? So let's say I do mypage.aspx#mynode, and mynode is a tree-node, and happens to be on the bottom of the page, can we make it so that the user goes to that node, without him using the vertical scroll bar?
A: No, it is not possible.
But you can collapse your tree menu by default:
var texpanded=0;
and use API functions to expand the specific items based on the page you are now:
<script>
dtreet_ext_expandItem (dtreet_ext_getItemIDByIndex (0, 0), 1);
dtreet_ext_setPressedItem (0, dtreet_ext_getItemIDByIndex (0, 1));
</script>
See more info about API functions here:
http://www.deluxe-tree.com/functions-info.html
Example:
http://deluxe-tree.com/highlight-selected-menu-item-sample.html
Q: Is there a way we can add javascript behaviors to the sliding dhtml menu actions?
For example, is there a way we can add an onClick function to a menu item
(eg,onClick="return MyFunction( )" ) so that we can catch and process key events?
A: Unfortunately, you can't assign onmouseover/onClick/onContextMenu event to each item.
However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["item text
", ""]
];
You can use your own Javascript code instead standard links. For example:
var menuItems = [
["text", "javascript:your_code_here"]
];
Try that.Q: Also, when I edit "testlink.htm" to any other htm filename, no file isloaded!?
A: Please, make sure that the file that you set for the link exists onyour website and it's placed in the same folder where testlink.htm file is placed.
You can also use absolute paths for links.
Q: How change the color of the link in the dhtml vertical menu if the link is already visited.
A: JavaScript Tree Menu has only two states normal and mouseover,
butyou can highlight menu items in two ways:
Try to do the following things:
- delete var pressedItem=1; parameter from your data file
- set correct parameter on each page before you call data file, forexample:
<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>
<script type="text/javascript"< var pressedItem=3;</script>
...<script type="text/javascript" src="menudir/data.js"></script>
You can also set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page. That is why you should write your own code on PHP.
You can find more info here:
http://www.deluxe-menu.com/highlighted-items-sample.html