Recent Questions
Q: I try to use the javascript menu popups to show an image; then when the mouse is over the image I dynamically generate a panel of http links. It works perfectly, but the problem is that I would like to do the same with several images (for instance 2) and different links : I'm not able to do that, whether I change the value of menuItems var or not, I display the same link values on both images (it seems menuItems is a global var and can be set only once).
Have you heard about this problem and could you give me a solution (this is a bit urgent, I have sold this solution to my customers) ?
A: See how you should call dm_popup() functions:
<img src="../../../../fileadmin/img/flag_de.gif" width="50" onMouseOver="return dm_popup(0, 2000, event);" style="cursor: pointer;">
// 0 - is ID of the first menu
....
<img src="../../../../fileadmin/img/flag_fr.gif" width="50" onMouseOver="return dm_popup(1, 2000, event);" style="cursor: pointer;">
// 1 - is ID of the second menu
// 2 - is ID of the third menu
... and so on.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: Can I use data from a SQL server using ASP for drop down menu code?
A: You may generate a menu from a database or XML using any server-side script, e.g., PHP, ASP, VB, etc.
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.)
];
Unfortunately we don't have examples with ASP and SQL.
The example of the menu working with PHP/MYSQL you can find here:
http://deluxe-menu.com/rq-loading-bar-MySQL-support.html
Q: When I open my site in Internet Explorer 6.0 the main drop menu code shows up nicely but the drop-down sub-menus are separated. The drop menu code work very nicely in a Firefox browser but not in IE.
A: There are some problems also with your css.The problem is that the drop menu code 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" attribute of the object if the object doesn't have this property within inline style(style="position:relative"). 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:relative;"
to the
<DIV id="right">
So, you'll have:
<DIV id=right style="POSITION: relative;">
Check that.