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 just noticed another problem: when I set dmObjectsCheck=1 and I click on a menu-item of the dropdown menu nothing happens! No matter whether the banner is flash or not. And no matter if the browser is IE or Firefox. As soon as I set dmObjectsCheck=0 the submenu works again.
A: You should set the following parameter
var dmObjectsCheck=1;
You should also add dmenu_add.js file into the folder with yourdmenu.js file.
Please, check it.
Q: Could you please just help me - I have been using quirks mode to create our customer sites and would now like to start using a proper doctype like:
But when I change it, all the down menus dhtml break on the sites.
A: Try to specify all units in "px":
var itemPadding="3px";
var itemStyles = [
["fontStyle=normal 11px Lucida SansUnicode","fontColor=#FFFFFF,#FFFFFF","itemBackColor=#DE2829,#C62829","itemBorderWidth=0",
"itemBorderColor=#FFFFFF,#C21212","itemBorderStyle=solid,solid",
"itemBackImage=blank.gif,blank.gif","itemWidth=160px"], ["itemWidth=129px"],
];
var menuStyles = [
["itemSpacing=0", "itemPadding=8px"]
];
Q: That is what I need:
a) I build a menu with an item like this:
["||"Product1","http://127.0.0.1/product1.htm","","","",,"0",],
b) when I select that item, I need that page product1.htm loads into an iFrame.
Can I do this?
A: You should set the Iframe name as the target value in the menuItems.
You should also set the following parameter:
var itemTarget = "";