So on a client's site, I have a Flash image right below a horizontal suckerfish-type navigation where the submenus (.sub in the below code) drop down over the swf. It works out well in Firefox, Opera and Safari, but when I hover over the submenus in IE7, they just disappear.

The code for the Flash file is....

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" type="application/x-shockwave-flash" width="951" height="317">

Note that I already have the wmode=opaque bit (in both the and tags).

Code for the navigation...

<ul id="menu">
  • <!-- other nav items --> </ul>

    For .sub, I have...


    And for the parent element of the swf...

    #header_box {

    A few other things... - The dropdown stays visible if I remain over the navigation button. Once I mouseout of it, the drop down (.sub) disappears. - I know that the dropdown doesn't just hide behind the swf (as if wmode were set to "window"), since I have them overlapping the navigation buttons a little (i.e. not completely overlapping the swf), so when I move from the navigation button to the dropdown menu, the entire dropdown disappears. When wmode is on "window", I could actually see the dropdown menu behind the swf (the part that's overlapping the menu button is still showing). - The swf has some part in it. I took it out of the code just to see what would happen. I didn't get that disappearing problem. Also we have subpages with the same exact navigation that use regular jpgs in place of the swf. They don't have that problem.

    I would think it has something to do with IE7 not seeing that hovering over the .sub dropdown is still hovering over the parent element (like in other browsers), but if that was the case, I don't know why having an swf instead of a jpg would be any different. :/ Any ideas?

    3 answers


    Window Mode (wmode)

    There are three window modes. Windowless mode allows you to take advantage of the transparent movie, absolute positioning, and layering capabilities available in the browser. They are controlled with the wmode parameter in the object tag. The default mode is available by either choosing not to specify any wmode, or by using wmode="window". Let's look at Macromedia's explanation of the three modes:


    Use the Window value to play a Flash Player movie in its own rectangular window on a web page. This is the default value for wmode and it works the way the classic Flash Player works. This normally provides the fastest animation performance.


    By using the Opaque value you can use JavaScript to move or resize movies that don't need a transparent background. Opaque mode makes the movie hide everything behind it on the page. Additionally, opaque mode moves elements behind Flash movies (for example, with dynamic HTML) to prevent them from showing through.


    Transparent mode allows the background of the HTML page, or the DHTML layer underneath the Flash movie or layer, to show through all the transparent portions of the movie. This allows you to overlap the movie with other elements of the HTML page. Animation performance might be slower when you use this value.

    Answered over 9 years ago by Lucifer
    • I tried "transparent". That didn't work and right now, it's set to opaque. Still not working. :| noellium over 9 years ago

    o.O Ok, looks like it's not a Flash problem after all. I took out the Flash swf and tested it on IE this time and it still has that disappearing problem. Still not completely sure what's going on, but at least I have a better idea of where the problem is. :P

    (I think it was on Firefox when I tested it without the swf, a sure sign I need sleep.)

    Answered over 9 years ago by noellium

    It's solved. :O

    When I gave it a background (an actual background, like a background color or image, not "none" or "transparent"), it fixed it. oO So it has a 1x1 px transparent GIF for a background (needs to be transparent, since the dropdown's menu items each has a translucent background image) and it now works. XD

    Answered over 9 years ago by noellium