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 have downloaded the trial version of Deluxe Menu and am seriously looking at buyingit. I am trying to go thro the instructions and check out if it meets my requirement.
I am not able to figure out how to equally space out all my menu items on the javascript menu bar.
My menu bar width is fixed at 800 px and I have 7 items - horizontal type. The menuitems widths appear different for the menu items. How do I ensure that all of them are ofequal size ??
A: Set width for the items using Individual styles:
var itemStyles=[
["itemWidth=100px"],
] //style 0
Assign Individual Styles for the menu Items.
var menuItems = [
["Item 1","", "", "", "", "", "0", "", "", "", "", ], //style 0
["Item 2",", "data2.files/icon1.gif", "data2.files/icon1o.gif", "", "", "0", "", "", "", "", ], //style 0
];
Q: I was wondering why when I add the code below the flash disappears in safari, but now works in Firefox, when the dropdown menu is rolled over? Can it work in both Safari and Firefox?
function dm_ext_ruleObjectHide()
{
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) && (navigator.vendor.indexOf('Apple Computer') != -1) && (navigator.product=='Gecko'))
return true;
else
return false;
}
A: The following code in this function
// Safari detect
if ((parseInt(navigator.productSub)>=20020000) && (navigator.vendor.indexOf('Apple Computer') != -1) && (navigator.product=='Gecko'))
return true;
hides flash in Safari.
Deluxe Menu can't drop down over an object correctly in Safari that iswhy the latter will be hidden for a time when the submenu is shown.
You can try to delete this code.
Q: Now I wonder what I have to do in my script to make dhtml sub menu be displayed horizontal instead of vertical. I want them to display vertical be left - aligned and be shown by a white Background. How can I achieve this?
A: You should set the following parameters:
var smColumns=0;
var smOrientation=1; //horizontal orientation of submenus
set white backcolor for submenus
["itemWidth=60px","itemBackColor=#FFFFFF,#FFFFFF","itemBorderWidth=0","itemBorderStyle=none,",
"itemBorderColor=#FFFFFF,", "fontColor=#404040,#404040","fontDecoration=none,underline"],