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: Thank you for your reply. I have run the example sent by you. Your dhtml menu example has horizontal menus and it hides all the menus.
But I am using xp vertical menu. In that I have Home,Sales,Customer Support,Reports,Access Control menus.
For Admin login I need all the menus including submenus.
But for employee login i need Home , Sales, Customer Support menus and i need only few sub menus only.
Please help me with this issue.
A: You can try to use API functions in that case:
function dm_ext_changeItemVisibility (menuInd, submenuInd, itemInd, visibility)
More info:
http://www.deluxe-menu.com/functions-info.html
Q: I have an other question about Vista menus :
If the word is too long, the dhtml menu images are not correct.
Please look at the screenshot.
A: See images in Vista Templates have the fixed width and height (92 x 21).
You can try to use the following parameter to use combinedbackground for your items, for example:
var beforeItemImage = [,]; //left-side image for normal and mouse over state
var itemBackImage = [,]; //background or image for normal and mouse over state
var afterItemImage = [,]; //right-side image for normal and mouse over state
var beforeItemImageW = '';
var afterItemImageW = '';
var beforeItemImageH = '';
var afterItemImageH ='';
But you should create a small images in any Graph Editor, for example:
button_n_back.gif
button_n_left.gif
button_n_right.gif
button_o_back.gif
button_o_left.gif
button_o_right.gif
Q: I'm looking to make a space between menu buttons in the drop down menu example,
I checked the FAQ which suggested using ["-"], between items but it didn't work.
A: To add a separator you should
//--- Separators
var separatorImage=""; //for subitems (top items in vertical menu)
var separatorWidth="100%";
var separatorHeight="3px";
var separatorAlignment="right";
var separatorVImage="separator.gif"; //for the top items (subitems items in vertical menu)
var separatorVWidth="100%";
var separatorVHeight="2px";
var separatorPadding="";
You can create separators using menuItems
(you can do it in Deluxe Tuner, use "Add separator" button),
for example:
["||All Images","gallery_all.html", , , , "_self", , , , ],
["||-"],
["||Pricing & Ordering Info","gallery_pricing.html", , , ,"_self", , , , ],