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: Is it possible to have the actual words clickable in order to open up a sublevel menu instead of having to click on the + symbol?
A: Yes, you can do it.
You should set this parameter:
var texpandItemClick = 1;
Q: I have a javascript menu codes that I change dynamically with dm_ext_changeItem.
When I converted it to a popup window, dm_ext_changeItem does not seem to work. Is this a bug?
A: See in the popup menu you should write submenuInd+1:
dm_ext_changeItem (menuInd, submenuInd+1, itemInd, iParams)
Q: I am in the final stages of testing and need some advice and help.
I have two problems I am trying to address.
1) Arrows on dropdown menu select.
2) Load time.
Please notice, I have to use absolute paths for the dropdown menu select to work.
1) I can't get the arrows to show, so I tried to add the code for images in the first bold sentence below.
2) I tried to add the second line for absolute paths for links to increase load time in the second bold sentence. It appears that the load time is increased by about 3 seconds and that the menu is the last to load, even though I have tried to have this as the first html to load.
Neither one of my commands appear to work.
This site has over 10,000,000 items on it, and I can't wait to get this up and running. Your program is the perfect solution for anybody with a website.
A: 1) Now you have:
var arrowImageMain=["mainmenu.files/arrv_blue_2.gif","mainmenu.files/arrv_white_2.gif"];
var arrowImageSub=["mainmenu.files/arr_blue_2.gif","mainmenu.files/arr_white_2.gif"];
You should set your arrows in the following way:
var arrowImageMain=["arrv_blue_2.gif","arrv_white_2.gif"];
var arrowImageSub=["arr_blue_2.gif","arr_white_2.gif"];
2) Your menu is very large. I advise you to us AJAX like technology.
http://deluxe-menu.com/ajax-technology-menu-sample.html
You can also try the following things:
move all <script> calls into <head>, but delete dm_init() function from mainmenu.js file -- move them instead offiles calls, i.e.:
<head>
<script src=mainmenu.js>
...
</head>
...
<div><script>dm_init();</script></div>
It this case data will be loaded when <head> will load, but after thatdropdown menu select must be shown quickly.
Let me know about results.