Recent Questions
Q: I see that you have the demo of the menu working over a frame so that it displays over the lower frame, vertical top to bottom.
However I have played around with your demo and can't seem to replicate the same feature.
Could you please tell me what I have to set to make the easy dropdown menu float over the lower framed window?
A: To initialize the cross frame menu call dm_initFrame() function instead of standard dm_init() function within data.js file:
dm_initFrame(framesetID, mainFrameInd, subFrameInd, orientation);
framesetID - id attribute of the frameset;
mainFrameInd - index of the main frame (where the top-menu is placed), >=0;
subFrameInd - index of the subframe (where the submenus will be shown), >=0;
orientation - frame orientaion: 0 - top-to-bottom, 1 - left-to-right; 2 - bottom-to-top; 3 - right-to-left.
For example, for the following structure:
<frameset id="frmSet" rows="185,*">
<frame id="frame1" src="cross-frame-horizontal-1.htm">
<frame id="frame2" name="testlink.htm" scrolling="no">
</frameset>
the dm_initFrame() function call at the end of data.js file will look like:
dm_initFrame("frmSet", 0, 1, 0);
Q: How can I keep the items in dhtml css menu from opening into a new window when selected?
A: You can set target parameter for all items:
var itemTarget="_self";
or for each item individually:
["Home","testlink.html", "", "", "", "_self", "", "", "", "", "", ],
Q: Could you please help me with another question?
I am using your regular dhtml menu inside an asp page.
I want to make a call to different javascripts with parameters from different menu items (Which should work fine.. )
I have now been trying to do this by using the alert() java metod....
This line works perfect:
["|Test A","javascript:alert('Test');", "", "", "", "", "0", "-1", "", ],
But if I try to write the same line within ASP brachets ( <% %> ) the menu does not show up:
<%
response.Write( " ['|Test A','javascript:alert('Test');', '', '', '', '', '0', '-1', '', ], " )
%>>
I have also found that if I remove the parameter inside the javascript like this:
<%
response.Write( " ['|Test A','javascript:alert();', '', '', '', '', '0', '-1', '', ], " )
%>>
the menu will show up and the script will work but since I can not insert any parameter it is pointless..
How can I achieve this?
I really hope you can help me with this one!
A: Try to write your code in the following way:
<%
response.Write( " ['|Test A','javascript:alert(\'Test\');', '', '', '', '', '0', '-1', '', ], " )
%>
Q: We have two frames in a frameset, one for the menu and one for the content where the javascript menu frame expands normally without any problem. Our content frame's source is determined dynamically. The problem occurs when the content frame contains a page with another frameset in it. Unfortunately we can not avoid this for now. And when this happens our menu stops expanding.
A: Unfortunately it is really possible that you'll have problems in thatcase because the index of the content frame will be changed.
For example now you have:
<frameset id="frmSet">
<frame> //menu index=0
<frame> //content index=1
</frameset>
Your init function will be:
dm_initFrame("frmSet", 0, 1, 0);
But if you'll have frameset instead of content frame:
<frameset id="frmSet">
<frame> //menu index=0
<frameset>
<frame> // index=1
<frame> //content index=2
</frameset>
</frameset>
You should write your init function in the following way:
dm_initFrame("frmSet", 0, 2, 0);
You should change your javascript menu frame init function in that case.