Recent Questions Struts Tiles Tree Menu Example
Q: I have a Menu called topnavbar.js when this menu is applied to a page not in a subfolder the links work. This topnavbar menu includes the following items; District Office, Cumberland Head Elementary School, Beekmantown Elementary School, Beekmantown Middle School, and Beekmantown High School.
However, if you put the topnavbar on a page that is located in a subfolder the links in the topnavbar add this subfolder name to the link. So instead of districtoffice.htm the link is transportation/districtoffice.htm and that page doesn’t exist.
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: What I would like to see is the ability to have a base site navigation menu with all the definitional entries (size, locations, icons, etc.) defined but all the menuitems be called from an Ajax file.
A: You cannot use ajax submenus for the top items.
But you can use several .js file, for example:
params.js //file with all menu parameters (size, locations, icons, etc.)
all code before
var menuItems = [
...
];
dm_init();
data_ajax1.js //data files for ajax submenus
data_ajax2.js
data_ajax3.js
...
main_data.js - data file with the following code:
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
You can also place this code into your html page directly (in the place where you want tohave a menu):
<script type="text/javascript">
var menuItems = [
["Item 1","", "", "", "", "", "0", "0", "data_ajax1.js", "", "", ],
["Item 2","", "", "", "", "", "0", "0", "data_ajax2.js", "", "", ],
["Item 3","", "", "", "", "", "0", "0", "data_ajax3.js", "", "", ],
["Item 4","", "", "", "", "", "0", "0", "data_ajax4.js", "", "", ],
];
dm_init();
Q: Now on IE for Windows, the menus disappear as I roll over them, though not always.
I'd say 90% of the time they fade away as my cursor crosses them.
10% they stay and I can get a good click.
On Safari, they work great.
A: See menu parameters they contain:
var smShowPause=0;
var smHidePause=0;
You should set, for example:
var smShowPause=200;
var smHidePause=1000;
Try that.
Q: The text on the dropdown menu item is not centered as it shows in the preview, How do I fix?
A: The reason is in your style
TD {
VERTICAL-ALIGN: top
}
Try not to define style for Table, TD, TR elements they can affect themenu.
Set also the following parameter:
var itemAlignTop="center";