PDA

View Full Version : IE7 sublevel menus disappear when over other contents



giopepe
12-03-2009, 08:43 AM
1) Script Title: Smooth Navigational Menu (v1.31)

2) Script URL (on DD): http://www.dynamicdrive.com/dynamicindex1/ddsmoothmenu.htm

3) Describe problem: on IE7 sublevel menus disappear when i rollover an item that is over other contents (flash, text, images)

see http://www.icmq.it

the problem is that i found out this bug when the site was already finished and online (on every other browser works fine - IE6/8 as well), so I have to find out if I can fix it or have to change the script allover... :(((

PS: the menu is loaded with an Include module (php), I also tried the ajax-

any help by MASTERS??
thanx

ddadmin
12-03-2009, 09:50 PM
Are you sure it does that even for regular text and images, besides when it comes in contact with a Flash element? For Flash bleeding through, you might want to try the suggestion described here (http://www.communitymx.com/content/article.cfm?cid=e5141), which is to add:


wmode="transparent"

inside your Flash object.

giopepe
12-15-2009, 03:03 PM
hey!

Yes, I'm sure it does not work when I roll over a menu item that is over any content, not only flash. ...and yes, I already did put the transparent wmode code.

any further help?
otherwise I am forced to quickly use another JS menu.. :(

thanks
Giovanni

jscheuer1
12-15-2009, 04:30 PM
Your menus need background:


.menu, .menu * {
background-color: #6b6b6f;
}

But that will slightly alter their apparent dimensions. You could use a background image, it could be a transparent .gif image (if you have or can get/make one):


.menu, .menu * {
background-image: url(transparent.gif);
}

or even a missing image:


.menu, .menu * {
background-image: url(notThere123092.gif);
}

This last will raise eyebrows in Safari though. It will say there was a problem loading the page. But you could use IE specific conditional comments to make this only apply to IE, example for an on page stylesheet:


<!--[if lt IE 8]>
<style type="text/css">
.menu, .menu * {
background-image: url(notThere123092.gif);
}
</style>
<![endif]-->

giopepe
12-16-2009, 12:10 PM
GREAT!
thanks a lot, it was just a matter of background as you said!

I did not change my menu div container 'cause it has a long image that's part of the graphic interface, but I modified the ddsmoothmenu.css file adding as follows:


.ddsmoothmenu, .ddsmoothmenu *{
background:url(../images/spacer.gif) #6b6b6f;
}

using a transparent image that exists so I dont need any IE specific condition.

Thanks again!!!!
Ciao
Giovanni