Recent Questions Html Code For Simple Tree Menu
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: I've looked through the FAQ's till my eyes burned... I know how to collapse/expand all on page load, but can't find an answer to this specific question
I am using tsaveState=1 and tcloseExpanded=1 and that works great when navigating the javascript vertical tree menu. But I'd like to be able to tell the javascript vertical tree menu to collapse all the way on the initial page load, without resetting those first two variables.
for instance;
a user logs on, goes to the order page, uses the menu to navigate and place an order. After the order is processed through a php verification page, the user is directed back to the order page via the php header() function, with the menu still intact, and the values of the order updated.
But once the user navigates away from the order page, and then returns to complete another order, I'd like the menu items to all be collapsed.
If that's not an inherent design of your menu program, is there a variable that I can pass with the initial load that will cause a full collapse?
A: No, unfortunately there is no such parameter in Javascript/DHTML Tree.
But you can try to delete
var tsaveState=1;
parameter from your data file and add it on your html page directly.
So, on your initial page you can set:
var tsaveState=0;
and on other pages you should set:
var tsaveState=1;
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.
Q: There's a 1 pixel white padding around the css drop down menu that I'm trying to remove.
Is it a padding setting -- a margin setting -- a div setting?
A: This is a shadow.
Set the following parameter:
var shadowTop=0;