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 know I can fix the width of the entire (horizontal) menu. But is there a way to fix the width of each Item in the menu? I would like each Item to be the same width.
A: Please, try to specify units in "px", for example.
var menuWidth = "600px";
It's necessary to specify exact value for Mozilla browsers. It helpsto position menus correctly.
Try to set individual style for item width:
var itemStyles = [
["itemWidth=120px"],
];
var menuItems = [
["Text1","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self", "0", , , ],
["Text2","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self", "0", , , ],
["Text3","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self", "0", , , ],
["Text4","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self", "0", , , ],
["Text5","", "data.files/products.gif", "data.files/products_mo.gif", "Products", "_self", "0", , , ],
...
Q: The AJAX sample for tree menu script on website does not have any styling applied at the moment.
I am assuming that it would support full styling with AJAX as well.
Is this correct?
A: You can use any style and templates for the AJAX sample.
Create a menu and set style you need using Individual Item Styles.
To enable AJAX Tree Menu use the following menu parameters:
var tajax=1;
Then set your menu in such way:
var tmenuItems = [
["Deluxe Tree: XP Style","", "", "", "", "XP Title Tip", "", "0", "", "data-samples/data-ajax5.js", ],
["+Samples Gallery","", "", "", "", "XP Title Tip", "", "0", "0", "", ],
["|Samples Block 1","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
["|Samples Block 2","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
["|Samples Block 3","", "", "", "", "", "", "", "", "data-samples/data-ajax.js", ],
];
Each .js file must contain menuItems variable for the submenu in the following format:
var tmenuItems = [
[text, link, icon1, icon2, icon2, tip, target, itemStyle, submenuStyle, jsFileName],
];
Where jsFileName - .js filename on the server that contains tmenuItems variable for the submenu.
For example:
var tmenuItems = [
["Home","testlink.htm", "", "", "", "Home Page Tip", "", "", "", "", ],
["Product Info","", "", "", "", "Product Info Tip", "", "", "", "data-samples/data-ajax2.js", ],
["Samples","", "", "", "", "Samples Tip", "", "", "", "data-samples/data-ajax4.js", ],
["Purchase","testlink.htm", "", "", "", "Purchase Tip", "", "", "", "", ],
["Support","", "", "", "", "Support Tip", "", "", "", "", ],
["|Write Us","mailto:[email protected]", "", "", "", "", "", "", "", "", ],
];
Q: I found some strange things while positioning the javascript hide menu. Does javascript hide menu behave different depending on where you are hosting your site?
A: Deluxe Menu is a Javascript product. It means that it works on aclient side only and it doesn't depend on the server which you're using.
Create us an example and send us a direct link to this example on bothhosting. We need to check it.