Recent Questions
Q: I made a html CD presentation based on cascading drop down menu but it works good only onIE and Google Chrome web browsers.
It doesn't work good on Mozilla Firefox browser. It shows menu properly but there is a problem with normal navigation.
The problem is with paths. I put the main js file in "menu" folder and I also have few folders with many html files in them.
For path I use the following "file:/(direct path to specific html file)". It works fine with IE and Google, but Mozilla/Firefox doesn't show the menu.
I tried also to use prefix "file:/" but it also doesn't show the cascading drop down menu on Mozilla/Firefox.
Is there any way to solve this problem?
Thank you for your answer.
A: It is not correct to add "file:/" in the link field.
You should write:
menu/image.gif
or
../menu/image.gif
You can try also to write links in the following way:
file://html/other/1.html
But I don't think that this will help you.
This is a feature of Firefox browser, Opera and Safari. These browsers cannot determine the root folder ofthe website (D:\ in the examples below) on a local machine (as IE and Google Chrome).
IE: D:\html\other\page.html (works)
Opera: file://localhost/html/other/page.html (link doesn't work)
Google Chrome: file:///D:/html/other/page.html (works)
Safari: file:///html/other/page.html (link doesn't work)
Firefox: file:///html/other/page.html (link doesn't work)
You use relative paths (and your folders have several embedded folders), so your links won'twork correctly in Firefox, Opera and Safari. The reason is not in the menu. Standard linkswon't work too.
So I think that the unique solution in your case is to move ALL link files (1.html,2.html, a.html ...) into the same folder with your index.html file.
Q: However, when I place it inside a CSS-defined div element (for absolute page placement) the submenu's all drop down a couple hundred pixels.
A: See, the problem is that the script can't get css properties of the object if they are described in separate .css block (or file).In other words, you can't get the value of "POSITION: absolute" attribute of the object if the object doesn't have this property within inline style (style="POSITION:absolute;"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add style="POSITION: absolute;"
to the
<div id="menu">
So, you'll have:
<DIV id="menu" style="POSITION: absolute;">
Try that.
Q: Couple last questions. I have 25 icons (images) on one page. Each image needs it's own popup menu. Obviously I now have the first one working. How and where do I define IDs number 2-24 ? Does each icon need it's own "source_" file?
Also, where is it defined that the popup menu is ID 1 ?
A: > Also, where is it defined that the popup menu is ID 1 ?
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
<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.
> I have 25 icons (images) on one page. Each image needs it's own popup menu.
If you want to have different Popup menus (there color, item, text,font and so on) you should create 25 different .js files with yourparameters. And call them from your page, for example:
<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_pop24.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"> //twenty fourth popup menu ID - 3
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(24, 1000, event);" style="cursor: hand;">
...
</body>
Q: I am designing a tree menu. I want the text blue on a transparent background. What parameter do I change to set the transparent background in expanding dhtml menu?
A: You should set the following parameters:
var tmenuBackColor="transparent";
var titemBackColor=["transparent","#D5E8FF"];