Recent Questions
Q: I have been trying for months to find an answer to my submenu problem using your FAQ and Recent Questions.
The only thing that comes close to an answer is from one of your Recent Questions below, but I don't understand the answer. Will you please give me specific code or info to fix? Please refer to my frameset code and data.js info, which I've provided further down this message.
I am using cross frame menu dropdown. I have three frames: Top, Left and main (middle).
I am using the script and data from your sample file, it works fine. Only problem is submenu is offset to the right. It does not show up exactly down below the top javascript hide menu.
A: Yes, I suppose that the reason is in your frame structure. For examplenow you have:
top -------------------
**MENU**
left--|main------------
|
| **submenus**
|
Try to add additional frame in your top frame with the same width asyour left frame has:
l-top-|right-top-----------------
| **MENU**
left--|main----------------------
|
| **submenus**
|Q: I just need to know if there is a way of establishing the width at "runtime" in the javascript dynamic menu so that my frame in my frameset can be widened accordingly.
A: There are no special parameters for menu dimensions.
But you can use submenu IDs. For example, top-menu has ID"dmXXXm0"
Where XXX - menu index. So, first menu on the page has ID "dm0m0".
So, you can determine menu dimensions so:
document.getElementById('dm0m0').offsetWidth
document.getElementById('dm0m0').offsetHeight
You can also use Javascript API functions to take submenu IDs.
Q: When I load a page with dhtml menu sample, lets say contact, the first tab is always highlighted, not the contact tab
A: I suppose that you've set the following parameter:
var bselectedItem=1;
So, the first tab is always highlighted.
This Tab menu can save pressed item automatically within1 page only. If you open another page, the menu can't remember presseditem. You should do that manually using Javascript and menu parameters( var bselectedItem, var bselectedSmItem) or using any server-sidescript (php, asp, etc.)
You should delete this parameter from your data file and write thefollowing code on each page before you call your data file, for example:
<script language="JavaScript1.2>
var bselectedItem = 3;
</script>
Q: Can your menu, when placed in a master page, be propagated throughout an application's sub-folders
or will the html menu need to be added to each page separately?
A: If you don't want to create your menu on each page you can use a
server-side script (php, asp, vb, etc.) to generate html pages from
templates on your server.
However, these scripts don't work inside of Javascript .js files, so,
you should move parameters of a menu from a .js file into an html-page, e.g.:
<!-- Deluxe Menu -->
<noscript><a href="http://deluxe-menu.com">Javascript Menu by Deluxe-Menu.com</a></noscript>
<script type="text/javascript"> var dmWorkPath = "menudir/";</script>
<script type="text/javascript" src="menudir/dmenu.js"></script>
<!-- (c) 2006, http://deluxe-menu.com -->
<script type="text/javascript" language="JavaScript1.2">
// and describe parameters of a menu
var parameter1=value1;
var parameter2=value2;
etc.
var menuItems = [
// here you generate items using server-side scripts (php, asp, vb, etc.)
];
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
You can use cross frame menu. It allows you to build full-featured menus on the pages
that use frame-based structure. And it's not necessary to insert any code into all the pages -
just specify the additional parameters of the menu and initialize it.
To install the menu in a cross-frame mode, see more info here:
http://www.deluxe-menu.com/cross-frame-mode-sample.html