Recent Questions
Q: When doing a multi-frame frameset (1 top frame, 2 bottom frames) like this:
<frameset ID="frames" ONLOAD="getBottom()" ROWS="50, *" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
   <frame NAME="frmTop" SRC="top.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0" />
    <frameset ID="bottomFrames" cols="171,*">
     <frame name="frmLeft" src="left.htm" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZE FRAMEBORDER="0"/>
     <frame name="frmMain" MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING=NO NORESIZEFRAMEBORDER="0" />
    </frameset>
</frameset>
And using the dm_frameinit like this:
dm_initFrame("[object]", 0, 2, 0);
it works fine in IE -> the menus are displayed exactly under the text and in the bottom right frame.
However, in Firefox, the menu drop down is displayed to the right of the top menu text, and exactly the number of pixels as the width of the left frame.
Perhaps there needs to be some FireFox checking to fix this?
Can you help me with that?
A: The problem is in a structure of your frameset.
Mozilla browsers can't determine absolute coordinates for a frame, sosubmenus drop down with an offset.
You should create the following frameset structure:
 --|------------
   | menu
 --|------------
   |
   | submenus
   |
Now a top row has 2 columns and all browsers can determine awidth of the 1st column in the second row.
Q: I can’t highlight the selected menu item of the current page in the javascript flyout menu?
A: Please, check the following parameter
var pressedItem=-2;
This parameter sets an index of an item that will be highlighted by default.
-2 - the toggle mode is disabled;
-1 - the toggle mode is enabled, but no items highlighted by default;
0,1,2,3,... - index of highlighted item in a top-menu.
The menu has only two states normal and mouseover. We'll try to add the pressed state in the future.
You can set a pressed item using Javascript API:
function dm_ext_setPressedItem (menuInd, submenuInd, itemInd, recursion)
Sets a current pressed item.
menuInd - index of a menu on a page, >= 0.
submenuInd - index of a submenu, >= 0.
itemInd - index of an item, >=0.
recursion = true/false - highlight parent items.
But notice, to use dm_ext_setPressedItem() you should know ID of selected item and subitem.
You can't get this ID after you reload your page.
That is why you should write your own code on PHP.
You can also set the correct:
var pressedItem=1;
parameter on each html page.
Q: A lot of things have come in between... Just a few more Q's before I order.
1)
At the bottom of the page you refer to below, there is a table showing the tmenuItems array, itemInd and " submenuInd ". But in the examples on the same page, the function "dtreet_ext_getItemIDByIndex" takes the arguments (menuInd, itemInd). Is the argument "menuInd" the same as "submenuInd" referred to in the javascript menu design??
2)
When I highlight an item on "onload" I need to expand that item's parent(s), right? What will happen to other, already expanded nodes when I do that? Will they still be expanded or collapsed?
A: 1) menuInd is the index of a tree menu on a page, >= 0.
First menu - menuInd=0
Second menu - menuInd=1
Third menu - menuInd=2
Fourth menu - menuInd=3
...
2) Yes, the already expanded nodes will be expanded.
Q: Things are mostly working great. I want my menu to appear centered at the top the page. Here's the code:
<table style="text-align: left; width: 100%;" border="0" cellpadding="2"cellspacing="2">
<tbody>
<tr>
<td style="width: 100%; text-align: center;"><script type="text/javascript" src="navbar.js"></script>
</td>
</tr>
</tbody>
</table>
The table appears at the far left edge of the window. I tried with both absolute (x=20, y=10) and relative (both x and y unset) coordinates. Help!
A: If you want to center the menu paste itwithin the <div > or <table> with a static position and specify a center alignment for it, for example:
<DIV align=center>
<SCRIPT src="data/data.js" type=text/javascript>
</SCRIPT>
</DIV>
<table width=800>
<tr>
<td align=center width=600> </tr>
</table>
Please, set exact value for var menuWidth parameter, for example:
var menuWidth = "600px";
This can help to align your menu correctly in all browsers.
Try also to specify units in "px".
Set also:
var absolutePos = 0;