I was curious if i could get some help. I'm using a script that changes the opacity of a link to change from 0 to 1 onmouseover. Everything works fine in FF, Safari, Chrome. Even IE9(beta). IE7 and 8 (dont care about 6) the menu has an opacity problem. I'm pretty sure this is because IE7-8 do not support css opacity, they support filter. So i think this is the problem, i could be wrong though. Any advice for me? If you to think its because of that. is there any way to rewrite this to make it work in IE7-8?
You can see the problem if you got to: http://experiencemediaonline.gorillaonemedia.com/ and hover over the menu at the top, you will see it show up with white letters and a horrible outline! This happens in IE7-8
There's no reason not to use .css(). It uses the same cross-browser safe implementation .animate() does.
Older versions of IE having a problem with changing the opacity of 24-bit PNGs is a known problem. A possible workaround is to not change the opacity of the element itself, but of a parent element.
You look into your HTML whether the thing you want to fade is already wrapped in another element you can use for fading, and if so, use that. If it's not, you can use jQuery's .wrap() method for that.
I believe rnd me is just trying to get your code error-free and to make sense, but he is not addressing the IE opacity issue I talked about earlier.
This is not an issue about different browsers implementing different ways to change an element's opacity, because jQuery already consolidates those differences. The issue is the one I mentioned, that there are bugs in IE regarding fading 24bit PNGs, and the workaround would be to fade a containing element instead.