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: Could you also tell me where I should place the images I wish to use in the menu, eg arrows. When I select an image to use they are not appearing in the preview, or when I launch deluxe-menu.html?
A: Please, check images paths within data .js file.
For example, if you have data.js file here:
c:/website/data.js
and your images are stored here:
c:/website/images/
you should set image name so (for example):
var arrowImageMain = ["images/arrow1.gif", "images/arrow2.gif"];
If you use Tuner, you should save data .js file before you'll selectimages. When you save .js file it means that you set a root directoryfor the project, so Tuner can make all selected images with relativepaths.
Q: I have implemented a deluxe-menu on my client's website and I had a couple of questions.
1. Can I control how fast the submenus scroll in my javascript menu examples? If you look at the site and hover over Need An Expert? on the menu and then point to Practice Areas, this submenu seems to scroll slower than if you mouse over "Technology" and scroll that submenu. The Technology submenu scrolls a lot faster. Is it because there are many more items in the Technology submenu? I tried to find a setting for "scroll speed" or the like, but I couldn't find it.
2. In internet explorer, when you mouse over Need An Expert?, Technology the first time you go to the page, there is a 3-4 second delay before the submenu opens. There are a lot of submenu items under Technology, but in Firefox, there doesn't seem to be this delay. Do you know why this would happen in IE? Is there a way to fix it? Could the problem be that each submenu item has a background graphic and this is causing the delay?
3. When you get to a page on the site and you rollover the top level menu, there is also a delay before the background image of the menu items shows up. You get a solid blue background color for a second or two (the bgcolor assigned) and then the graphic loads and shows up. Is there any way around this? I have a javascript to preload the image (back.jpg) but that doesn't seem to help.
Any help would be greatly appreciated!!!
A: 1. The scroll speed depends on number of items to be scrolled, more items -> faster scroll.
You can decrease the number of items or enlarge the size of submenu.
2,3. Please try to add the following param:
var dm_writeAll = 1;
It will load all backgrounds on page load, no on mouseover.
Q: Your product is great. I do have one question for you however.
Right now the dropdown (subitem) menus appear based on the smShowPause variable, and disappear based on the smHidePause variable. It is sometimes awkward for users to mouse off the subitem menu that has dropped down, only to have it still hanging there. Reducing the smHidePause variable is not an option because then the menu often disappears before a user has selected a menu option.
The ideal solution is the have the subitem menu recognize when the user has moused off the menu, and then disappear. Is this possible?
if not, I definitely suggest incorporating it into your next build!
A: Try to set these parameters:
var transition=0;
var transOptions="";
var transDuration=0;
var transDuration2=0;
var smShowPause=200;
var smHidePause=200;