Recent Questions
Q: Is there any way to call a javascript function on mouseover from a menu item?
A: You can use your own javascript functions in the menu items.
You should paste "javascript:some_function()" into item's link field, for example:
var menuItems = [
["text", "javascript:your_function(...)", ...]
];
var menuItems = [
["item text", "javascript:alert('Hello World')", , , , ,]
];
Unfortunately, you can't assign onmouseover/onClick event to each item. However, you can achieve this by using standard html objects within items, for example:
var menuitems = [
["<div onMouseover='your_code_here'>item text</div>", "index.html"]
];
Q: Maybe have some code that would tell the tree menu html to expand on that particular page?
A: On your pages you should call the following function/functions to expand/highlight items,
for example:
<script>
dtreet_ext_expandItem (dtreet_ext_getItemIDByIndex (0, 0), 1);
dtreet_ext_setPressedItem (0, dtreet_ext_getItemIDByIndex (0, 1));
</script>
Q: Hello. I have noticed that when you expand a menu and then click to another page, the menu is collapsed on the next page. I read about "state saving" and tried the parameter which did not work. Is there a way to accomplish this?
A: You can see the example for state saving here:
http://dhtml-menu.com/tree-examples/tree-menuxp-save-state.html
This menu saves its state.
To enable this mode you should include dtree_ss.js file intoyour html page and set the following parameter:
var tsaveState = 1;
See, if you open pages (with menus) from different folder itmeans that you open different menus. So, when you change a state, forexample, of the first menu within "content/" folder and then openanother page with the menu within "content/subfolder/", browsers looks for anothercookie file and can't find it and the second menu stays in a defaultstate. Is it clear?
Q: When doing a multi-frame frameset (1 top frame, 2 bottom frames) like this:
<frameset ID="frames" ONLOAD="getBottom()" ROWS="50, *" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
   <frame NAME="frmTop" SRC="top.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0" />
    <frameset ID="bottomFrames" cols="171,*">
     <frame name="frmLeft" src="left.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0"/>
     <frame name="frmMain" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZEFRAMEBORDER="0" />
    </frameset>
</frameset>
And using the dm_frameinit like this:
dm_initFrame("[object]", 0, 2, 0);
it works fine in IE -> the menus are displayed exactly under the text and in the bottom right frame.
However, in Firefox, the menu drop down is displayed to the right of the top menu text, and exactly the number of pixels as the width of the left frame.
Perhaps there needs to be some FireFox checking to fix this?
Can you help me with that?
A: The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, sosubmenus drop down with an offset.
You should create the following frameset structure:
 --|------------
   | menu
 --|------------
   |
   | submenus
   |
Now a top row has 2 columns and all browsers can determine awidth of the 1st column in the second row.