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 there a way to specify certian font styles escpecailly a hanging indent on the text of the javascript menu scroll?
A: You should use Individual styles, for example:
var itemStyles = [
["fontStyle=bold 12px Arial,Helvetica", "fontDecoration=none,underline"], // style 0
["fontStyle=normal 12px Arial,Helvetica", "fontDecoration=underline,underline"], // style 1
["fontStyle=normal 14px Arial,Helvetica", "fontDecoration=none,none"], // style 2
];
And assign styles to your items:
var menuItems = [
["1 Item","index.php","","","","_self","0",,,],
["2 Item","","","","","_self","1",,,],
["|Submenu Item","","","","","_self","2",,,],...
Q: How can I vary the width of the individual items (Home, Product Info etc) on the main menu bar?
A: I'm not sure I understand you. You want to use different width (exactwidth) for the main items?
You can use Individual Styles to set the width for the menu items.Please, use Deluxe Tuner to create your individual styles.
You should write for example so:
var itemStyles = [
["itemWidth=98px"], // style 0
["itemWidth=100px"], // style 1
["itemWidth=110px"], // style 2
["itemWidth=120px"], // style 3
["itemWidth=95px"], // style 4
];
var menuItems = [
["","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self","0" , , , ],
["|XLCubed Excel Edition","pro_excel.html", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|XLCubed Web Edition","pro_web.html", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|TM1 Connection","tm1Connection.htm", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , "_self", , "0", , ],
["|Downloads","downloads.htm", "data.files/iconBlue.gif", "data.files/iconWhite.gif", , , , , , ],
["","", "data.files/demoCenter.gif", "data.files/demoCenter_mo.gif", , ,"1", , , ],
Q: How can I have the sub tab option that initiated the action highlighted once the new page is reloaded? I want to highlight the tab which is done with 'bselectedItem', please tell me about the sub-tab option.
A: See you cannot create subitems in
var tabMode=0;
it is not correct.
You should set
var tabMode=1;
The following parameters set the pressed items for top items andsubitems:
var bselectedItem=0; //top items
var bselectedSmItem=2; //subitems
where 0,1,2... is the index of the item in bmenuItems.
- delete var bselectedItem=1; and var bselectedSmItem=2; parameters from your data file
- set correct parameters on each page before you call data file, forexample:
<noscript><a href="http://deluxe-tabs.com">Javascript Menu by Deluxe-Tabs.com</a></noscript>
<script type="text/javascript" src="menudir/dtabs.js"></script>
<script type="text/javascript"> var bselectedItem=3;
var bselectedSmItem=5; </script>
...
<script type="text/javascript" src="menudir/data.js"></script>