Recent Questions
Q: I came across your program through a link on the Internet. The menu script displayed was DHTML Menu Demo #23 displayed on
http://dhtml-menu.com/dhtml-samples/menu2752.html - this is the only menu I am interested in as it has the capability of positioning the menu script relative to an existing table in the HTML coding of the page. I already have a vertical scrolling menu with several features visitors. We are moving our website to our own server and are doing some updating to make it more attractive when viewed at different resolutions. If you look at the source coding for the page (yes, it's almost exclusively in HTML - it usually views well on any browser) you will see that ALL the content is enclosed in a table which is centered on the page allowing it to be completely viewed at any resolution of 800 x 600 or greater. But the scripting I'm using ( /* Created by Randy Bennet...) uses the left margin of the browser window as left margin of the page. If it could be written so that the left margin of the existing (and centered in the browser window) table would be the point from which the left corner of the "object1" was measured, then the page would view nicely at any resolution. But I cannot find out how to do this from your "newer version".
A: You can create the same menu using Deluxe Menu:
http://dhtml-menu.com/dhtml-samples/menu2752.html
To install Deluxe Menu in the table cell with center alignment youshould use relative position for the menu:
var absolutePos=0;
var posX="0px";
var posY="0px";
And install it on your page in the following way:
<table>
<tr>
<td align="center">
<script type="text/javascript" src="deluxe-menu.js"></script>
</td>
</tr>
</table>
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: Could you please help me with another question?
I am using your regular dhtml menu inside an asp page.
I want to make a call to different javascripts with parameters from different menu items (Which should work fine.. )
I have now been trying to do this by using the alert() java metod....
This line works perfect:
["|Test A","javascript:alert('Test');", "", "", "", "", "0", "-1", "", ],
But if I try to write the same line within ASP brachets ( <% %> ) the menu does not show up:
<%
response.Write( " ['|Test A','javascript:alert('Test');', '', '', '', '', '0', '-1', '', ], " )
%>>
I have also found that if I remove the parameter inside the javascript like this:
<%
response.Write( " ['|Test A','javascript:alert();', '', '', '', '', '0', '-1', '', ], " )
%>>
the menu will show up and the script will work but since I can not insert any parameter it is pointless..
How can I achieve this?
I really hope you can help me with this one!
A: Try to write your code in the following way:
<%
response.Write( " ['|Test A','javascript:alert(\'Test\');', '', '', '', '', '0', '-1', '', ], " )
%>
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.