Recent Questions Css Tree Menu Example
Q: I'm looking at evaluating your Deluxe menu software for inclusion in our current web based software solution and am particularly taken with the 'Ajax style' loading.
Could you please answer a couple of questions with respect to that.
At what point does it load those file ¦ initially when menu is drawn (so multiple small hits to app server) or when the user selects the menu? Does the link href *have* to be a .js file ¦ or can it be any valid file type that returns the correct data? I have to generate the menu options dynamically from a DB and therefore really need to include a JSP style file.
Our current menu system (made up of 4 levels deep contains over 300 links, which is why I want to minimise server hit as much as possible!
A: It loads when the user move his mouse above the menu items.
You can use any extension for these files. But the file structureshould be the same as in our example.
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);
Q: I need to be able to highlight the selected menu en dhtml item of the JavaScript Tree Menu.
A: JavaScript Tree Menu has only two states normal and mouseover.
Try to do the following things:
- delete var pressedItem=1; parameter from your menu en dhtml 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.
Q: Both arrow types are visible when my intranet first loads and when I select a top item that is a direct link to a page.
But, as soon as I select any item from a list of sub items that includes subitems with arrows,
the arrow images disappear from vertical menu until I refresh the site.
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters.