Recent Questions
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: I am trying out your menu and I've made out a little test case in the attached file.
If you run it, you will see that the horizontal drop down menu css scrollsOUTSIDE the container div to the edges of the window. Is there anyway I can make the hhorizontal drop down menu css be within the container div and yet scroll?
And will the solution be cross-browser?
Note that menuDiv needs to have a collapsableDiv style. I am assuming that that is not a problem.
A: Try to set exact width for the submenu:
var smWidth="925px";
Q: How can I vary the width of the individual items (Home, Product Info etc) on the main menu bar?
A: I'm not sure I understand you. You want to use different width (exactwidth) for the main items?
You can use Individual Styles to set the width for the menu items.Please, use Deluxe Tuner to create your individual styles.
You should write for example so:
var itemStyles = [
["itemWidth=98px"], // style 0
["itemWidth=100px"], // style 1
["itemWidth=110px"], // style 2
["itemWidth=120px"], // style 3
["itemWidth=95px"], // style 4
];
var menuItems = [
["","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self","0" , , , ],
["|XLCubed Excel Edition","pro_excel.html", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|XLCubed Web Edition","pro_web.html", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|TM1 Connection","tm1Connection.htm", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|Downloads","downloads.htm", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , , , , , ],
["","", "data.files/demoCenter.gif", "data.files/demoCenter_mo.gif", , ,"1", , , ],
Q: 1) is it possible to have multiple(different) images, popup menus?
2) Can it Automatically popup instead of Left click?
Would you show me How?
3) What is: menuInd - index of the javascript menu script on a page, >= 0 ?
Could you give more explanation?
A: > 1) is it possible to have multiple(different) images, popup menus?
Yes, you can use any number of popup menus on your page.
> 2) Can it Automatically popup instead of Left click?
> Would you show me How?
You can use onMouseOver event instead of onClick or onContextMenu events in that case.
> 3) What is: menuInd - index of the javascript menu script on a page, >= 0 ?
Each menu has ID. The ID's number starts with 0.
So, when you have several data files on your page you have such ID's:
<script type="text/javascript" language="JavaScript1.2" src="menu-top.js"></script> // ID - 0 //standard menu (doesn't use popup feature)
<script type="text/javascript" language="JavaScript1.2" src="source_pop.js"></script> // ID - 1
<script type="text/javascript" language="JavaScript1.2" src="source_pop1.js"></script> // ID - 2
<script type="text/javascript" language="JavaScript1.2" src="source_pop2.js"></script> // ID - 3
<script type="text/javascript" language="JavaScript1.2" src="source_pop3.js"></script> // ID - 4
and so on.
If you want to have different Popup menus (there color, item, text,font and so on) you should create different .js files with yourparameters. And call them from your page, for example:
<script type="text/javascript" language="JavaScript1.2" src="menu-top.js"></script>
<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript1.2 src="source_pop1.js" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript1.2 src="source_pop2.js" type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript1.2 src="source_pop3.js" type=text/javascript></SCRIPT>
If you have different item text only you can use one
<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
file. But you should delete the following code:
var menuItems = [
["Next","testlink.htm"],
["Prev","testlink.htm"],
["Close","testlink.htm"],
];
dm_init();
and move it to the html page:
<body>
...
<SCRIPT language=JavaScript1.2 src="source_pop.js" type=text/javascript></SCRIPT>
<script type="text/javascript"> //first popup menu ID - 1
var menuItems = [
["Next","testlink.htm"],
["Prev","testlink.htm"],
["Close","testlink.htm"],
];
dm_init();
</SCRIPT>
<script type="text/javascript"> //second popup menu ID - 2
var menuItems = [
["Text","testlink.htm"],
["Text1","testlink.htm"],
["Text2","testlink.htm"],
];
dm_init();
</SCRIPT>
<script type="text/javascript"> //third popup menu ID - 3
var menuItems = [
["New_Text","testlink.htm"],
["New_Text1","testlink.htm"],
["New_Text2","testlink.htm"],
];
dm_init();
</SCRIPT>
<script type="text/javascript"> //fourth popup menu ID - 4
var menuItems = [
["New","testlink.htm"],
["New","testlink.htm"],
["New","testlink.htm"],
];
dm_init();
</SCRIPT>
<img src="testimage.gif" width=200 onClick="return dm_popup(1, 1000, event);" style="cursor: hand;">
<img src="testimage.gif" width=200 onClick="return dm_popup(2, 1000, event);" style="cursor: hand;">
<img src="testimage.gif" width=200 onClick="return dm_popup(3, 1000, event);" style="cursor: hand;">
<img src="testimage.gif" width=200 onClick="return dm_popup(4, 1000, event);" style="cursor: hand;">
</body>