Recent Questions
Q: I will build menu for several books’ Contents, each book is more than 100 lines and has links. I think if all the books’ contents in 1 *.JS file then it is TOO LOONG!!.
Can I break it down to 1 book for 1*.JS ? How?
A: You cannot divide your menuItems parameter.
You can only use one .js file for your menu parameters and the other.js file for your menuItems = [...];
But you can do it in two ways.
1) You can try to use several menus on the one page, for example:
param.js // file with menu parameters (all parameters before menuItems = [...];)
menu1.js // menuItems for "AC-DC", "ANLOG"
menu2.js // menuItems for "DIGITAL", "WinXP"
menu3.js // menuItems for "MS-Word", "MS-Excel"
In these menu files you should write
menuItems = [
...
];
dm_init();
Then you should install your menu in the following way
<script type="text/javascript" src="param.js"></script>
<table>
...
<script type="text/javascript" src="menu1.js"></script>
...
<script type="text/javascript" src="menu2.js"></script>
...
<script type="text/javascript" src="menu3.js"></script>
But it will be easier to use vertical menu in such case
var isHorizontal=0;
var smColumns=1;
2) You can also try to add some code, see the attached example.
In the first file (@MY books (Multiple Col.js) I write menuItems for the first item "AC-DC".
Notice that you should delete comma at the end of the last item
var menuItems = [
["AC-DC","", , , , , , , , ],
["|@Book1","testlink.htm", , , , , , , , ],
...
["|@Book3","", , , , , , , , ],
["||CH02","", , , , , , , , ],
["||CH01","", , , , , , , , ] // delete comma at the end of the last item
];
In the second file (@MY books (1.js) you should write
menuItems = menuItems.concat(
[
["ANLOG","", , , , , , , , ],
["|@Book1","", , , , , , , , ],
["|@Book2","", , , , , , , , ],
["|@Book3","", , , , , , , , ] // delete comma at the end of the last item
]
);
In the third file (@MY books (2.js) you should write
menuItems = menuItems.concat(
[
["DIGITAL","", , , , , , , , ],
["|Item 1332","", , , , , , , , ],
["WinXP","", , , , , , , , ],
["|Item 1333","", , , , , , , , ],
["MS-Word","", , , , , , , , ],
["|Item 1334","", , , , , , , , ],
["MS-Excel","", , , , , , , , ],
["|Item 1335","", , , , , , , , ] // delete comma at the end of the last item
]
);
dm_init();
Notice that you should write dm_init(); function in the last file.
In the .html file you should write
...
<tr>
<script type="text/javascript" src="@MY books (Multiple Col.js"></script>
<script type="text/javascript" src="@MY books (1.js"></script>
<script type="text/javascript" src="@MY books (2.js"></script>
</tr>
I hope you understand me.
Q: I would like to use it in a page containing two iFrames.
The iFrame called "nav" is where the menu will appear and the iFrame called "main" is where I want any sub-menu items to appear.
How can this be done given there are no "frameset" tags in this type of structure?
A: Deluxe Menu doesn't work with <IFrame> objects.
It works with<frameset> objects only. All it can to do with <IFrame> is to loadpages into it.
You should use standard installation for the menu.
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: Is it possible to use an external file with these applets? Have tried
<SCRIPT LANGUAGE="JavaScript" SRC="myscript.js">
</SCRIPT>
but it does not work!
Any suggestions? I have one site with many pages, it would be handy not to have to change 20 pages just to modify one link.
A: You can use "menuItemsFile" param, example
<param name="menuItemsFile" value="menu1.txt">
The menu menu items are in menu1.txt, so you'll need to changeonly this menu1.txt if it necessary to add/remove/change items.
See also example:
http://www.apycom.com/xp-drop-down-menu/ex2.html