Well after looking at the page I'm a little confused why it works in firefox but here's the problem. Your using the link <a> to create the rollover and there aren't any classes associated with the individual items so you can't target just one (your getting the same action for each <a></a> in the flyout and the main menu). So basically if you can move your mouse fast enough you can get to another a before the menu closes.
So the solution is to use the <li> as the hover trigger. Since the submenu is inside the <li> you will remain in a hovered state even if your mouse is over the submenu items.
Example HTML (notice the use of additional classes as hooks)
<ul class="mainMenu">
<li class="mainMenuItem">
<a>Main Item Name 1</a>
<!-- Sub menu for item 1 -->
<ul class="subMenu">
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
</ul>
</li>
<li class="mainMenuItem">
<a>Main Item Name 2</a>
<!-- Sub menu for item 2 -->
<ul class="subMenu">
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
<li class="subMenuItem"><a>Sub Menu Link</a></li>
</ul>
</li>
</ul>
- <ul class="mainMenu">
- <li class="mainMenuItem">
- <a>Main Item Name 1</a>
- <!-- Sub menu for item 1 -->
- <ul class="subMenu">
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- </ul>
- </li>
- <li class="mainMenuItem">
- <a>Main Item Name 2</a>
- <!-- Sub menu for item 2 -->
- <ul class="subMenu">
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- <li class="subMenuItem"><a>Sub Menu Link</a></li>
- </ul>
- </li>
- </ul>
and the CSS
/* hide sub menu items - you'll have to add other styles for position etc */
ul.mainMenu li.mainMenuItem ul.subMenu{
display:none;
}
/* set hover to display subnav */
ul.mainMenu li.mainMenuItem:hover ul.subMenu{
display:block;
}
- /* hide sub menu items - you'll have to add other styles for position etc */
- ul.mainMenu li.mainMenuItem ul.subMenu{
- display:none;
- }
- /* set hover to display subnav */
- ul.mainMenu li.mainMenuItem:hover ul.subMenu{
- display:block;
- }
Now one thing to keep in mind is that IE6 doesn't support the :hover on anything other than an <a> so since your using a li:hover in the css you'll need to use javascript to support IE6
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com