Recent Questions Javascript Treemenu Prototype
Q: What i need is when the menu item is clicked in the dhtml context menu, it'll run a json the onclick or mouseup event.
Is this possible?
A: You can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onContextMenu='your_code_here'>item text</div>", ""]
];
Actually you can use any html code within menuItems.
Q: You've been helping me with some issues on the Javascript/DHTML Tree Menu system my company has purchased and most issues are resolved, so thank you! One big problem remains though and we can't seem to figure it out, so I hope you can help.
What we want is, when a user enters our site from the index (home) page then clicks on a link and the sub-page opens, for the dhtml menu tree to be open to the section the user is in and viewing. We also DO NOT want the browser to save the state of the menu, since that is inconsistent with where the user is in the site. Note: we do not use the Menu on the home page, is this a problem?
Per your tech support email, I've added the expand code, which works going from the home page to sub-pages. However, it interferes with navigating to other sub-pages once your in the site. The menu doesn't keep the section open, it closes back up. You mentioned the expand code has to be entered on every page....is that so in this instance and if so, that's a maintenance nightmare - does a better way exist for this type of menu?
Then we activated the "save state" option and the menu stays open on the sub-pages, but the expand option doesn't work.
It's like they cancel each other out and you can only have one or the other.
Can I get these two to work together? What do I need to do? Is it better to use the XP-style menu?
A: When user clicks the link, the browser loads a new page and the script re-create the dhtml menu tree.
If you want to open the needed section automatically on load you can use the following:
1. Save the state to cookies
2. Use frames
3. Put the special script on each page of site that will open appropriate section.
(dtreet_ext_expandItem)
Q: At the first time arrow images are loaded successfully in the menu, That time I click the menu and open a new page in crossframe.
After that I try to open new page from Main Menu, the arrow images are not displayed in the Sub-menus.
A: Thanks for your interest in our products.
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.
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.