Recent Questions Css Multi Level Tree Menu Vertical
Q: I am rewriting my homepage in CSS but now I have another problem with the DeLuxe menu.
The javascript top menu is well positioned on the page but the submenus are not.
The submenus are not positioned aside the javascript top menu but lower and far to much to the right.
I changed the variables
var posX = 100;
var posY = 100;
var absolutePos = 1;
var topDX = 0;
var topDY = 0;
var DX = -3;
var DY = 0;
var subMenuAlign = "left";
var subMenuVAlign = "top";
Sometimes when I change the variables the submenus are well positioned and then, after enlarging the IE-window, they are not.
What can I do?
A: It is possible that you have some problems with your css styles.
See, the problem is that the javascript top menu can't get css properties of the object if they are described in separate .css block (or file).
In other words, you can't get the value of "POSITION: absolute" attribute of the object if the object doesn't have this property within inline style (style="POSITION:absolute;"). To get the value you should move .css style into style="" attribute.
Please, try to add your
css file -> inline css, for example:
You should add style="POSITION: absolute;"
to the
<div id="block">
Q: 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 menu.
What could be the problem?
A: JavaScript Tree Menu doesn't work correctly (incorrect submenu position) if youhave complex frame structure.
The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, so submenus drop down with an offset.
You should create, for example, the following frameset structure:
--|------------
| menu
--|------------
|
| submenus
|
Now a top row has 2 columns and all browsers can determine a width of the 1st column in the second row.
You should write init function in the following way in that case:
dm_initFrame("mainframe",1,3,0);
Q: I want to be able to have all of the submenus start at the top of the menu. For example, when I hover across each of my menu items in a vertical level, I want the sublevel menu to start at the very top of the menu, not out beside the menu option. How can I achieve this
A: You can have such effect only for the first subitems.
Others subitems will have Y offset.
Please, see the attached example.
You should adjust the following parameters:
var topDX=-116;
var topDY=-31;
var DX=-148;
var DY=-32;
Q: It is mostly working now except where I have two rows of nav tabs.. The top row opens new pages and the bottom row is just regular div tabs... works fine in IE and Firefox but not Chrome... any ideas?
A: Try to open links in the following way:
var bmenuItems = [
["Overview","link:Sun_Cabo_Services.asp", "", "", "", "", "0", "", "", ],
["-"],
["Villa Services","link:Cabo_Villa_Services.asp", "", "", "", "", "0", "", "", ],
["-"],
["Chef/Cook Services","link:Cabo_Chef_Services.asp", "", "", "", "", "0", "", "", ],
["-"],
["Spa Services","link:Cabo_Spa_Services.asp", "", "", "", "", "0", "", "", ],
];