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 have the menu working perfectly on the main page of the website,but when I try to install menu javascripts onto html files that appear in subfolders of the site, the images do not appear.
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters.
Q: Both arrow types are visible when my intranet first loads and when I select a top item that is a direct link to a page.
But, as soon as I select any item from a list of sub items that includes subitems with arrows,
the arrow images disappear from vertical menu until I refresh the site.
A: You can use additional parameters to make menu paths absolute:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
These parameters allow to make images and links paths absolute.
For example:
var pathPrefix_img = "http://domain.com/images/";
var pathPrefix_link = "http://domain.com/pages/";
var menuItems = [
["text", "index.html", "icon1.gif", "icon2.gif"],
];
So, link path will be look so:
http://domain.com/pages/index.html
Images paths will be look so:
http://domain.com/images/icon1.gif
http://domain.com/images/icon2.gif
Please, try to use these parameters.
Q: Now it works fine in Firefox and mostly in IE.... Only problem... In IE...
When the page with dhtml tab menu first loads ... It does not load the content of the first DIV....
It's fine in Firefox...now IE just does not load the first div... I've tried added a JS function to set to visible the first DIV onLoad...but that does not work either...
Is there anyway to hard-code in ...to set the first DIV to visible?
A: I've just checked your website. Your dhtml tab menu work correctly.
You should check that you use correct value of
var bselectedItem=1;
parameter.
That is mean that second item in menuItems array will be highlighted.
["-","", "", "", "", "", "", "", "", ], //0
["About","content1", "", "", "", "", "", "", "", ], //1
["FAQs","content2", "", "", "", "", "", "", "", ], //2
["Before & Afters","content3", "", "", "", "", "", "", "", ], //3
["Pre/Post Care","content4", "", "", "", "", "", "", "", ], //4
["Special Offers","javascript:location.href = '../specials/index.htm'", "", "", "", "", "", "", "", ], //5
Now you have also:
<script type="text/javascript" src="data-deluxe-tabs.js"></script>
<table cellpadding="0" cellspacing="0" border="0" width="500">
<tr>
<td align=center valign=top>
<table cellpadding="0" cellspacing="0" border="0" width=500 height=250 align=center>
<tr>
<td valign=top height=1>
<script type="text/javascript" src="../scripts/templates/tabs-opera.js"></script>
</td>
</tr>
I think that it is not correct. You should write:
<table cellpadding="0" cellspacing="0" border="0" width="500">
<tr>
<td align=center valign=top>
<table cellpadding="0" cellspacing="0" border="0" width=500 height=250 align=center>
<tr>
<td valign=top height=1>
<script type="text/javascript" src="data-deluxe-tabs.js"></script>
</td>
</tr>