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, for instance, to call dm_init multiple times in the list menu java? If so, do you have an example?
A: Yes, you can call dm_init(); function multiple times (for example youcan call several data files, or move menuItems array and dm_init();function into your page directly) to have multiple menus on your page.
Q: Does your product support image swapping? For instance, if I was building a menu such as the one on your site, how would I swap the "Home", "Product Info", etc images/gif's?
I'm using a JavaScript such as the one below:
<a href="index.html"><img src="images/btn_home_up.gif" name="Image1" width="91" height="33" border="0" id="Image1" onmouseover="MM_swapImage('Image1','','images/btn_home_roll.gif',1)" onmouseout="MM_swapImgRestore()" /></a>
A: You can use images for items using standard <img> tag.
But in this case you should change pictures yourselves usingJavascript to make rollover items.
For example:
var menuItems = [
["<img src='image1.gif' width=100 height=20 onmouseover='this.src=\"image2.gif\" onmouseout='this.src=\"image1.gif\"'>Text", link,]
];
or
var menuItems = [
["<img src='image.gif' onmouseover='changeImage(this, 1)' onmouseout='changeImage(this, 0)'>"]
];
Q: I need the sub menu to be vertical with the text on top of each other instead of horizontal way as as I have now on my website.
I have tried to change the smWidth & smHeight in the Dimension category but it shows no changes.
A: Please, see menu parameters.
You should set this parameter:
var smOrientation=0;