I ran into this problem with my plugin, which can use the 'fade'
animation for showing or hiding panels of content. The loss of anti-
aliasing was ugly and obvious in some cases,so I added a fix to
'remove' the filter when the animation completed...

if ($.browser.msie && $elem.css("filter") && $elem.css("opacity") ==
1)
    $elem[0].style.removeAttribute('filter');

To remove the alpha filter when you *don't know* if there are also
other filters applied, remove the filter and then reapply it *without*
the alpha part...

    var filter = $.trim($elem.css('filter').replace(/Alpha\
(Opacity=100\)/i, ''));
    $elem[0].style.removeAttribute('filter');
    if (filter) $elem.css('filter', filter);

But if your own code applied the opacity filter in the first place,
this extra code is not necessary.

You can see a sample of this solution in one of my demo pages:

    http://layout.jquery-dev.net/demos/datepicker.html

Any plug-in that manipulates opacity - including jQuery Effects like
'fade' - *should* include code to remove the filter when opacity
returns to 100%. IE is still the most common browser in the world and
the fix is quite simple, so it should be used -- or *at least*
included in the documention so users can implement it themselves where
needed.

/Kevin


On Jan 13, 10:44 am, Stephen McKamey <step...@jsonfx.net> wrote:
> I've run into a number of gnarly issues in IE 8 and earlier where
> jQuery leaves a residual alpha filter on elements after fading them
> back in. Some of the IE bugs are annoying like odd aliasing around
> text, etc. This morning though I came across a really nasty bug
> whereby it seemed like IE was locking up. The actual issue was very
> unintuitive. Here is a great description of it that I ultimately
> found:
>
>    http://snook.ca/archives/html_and_css/ie-position-fixed-opacity-filter
>
> What I propose is when the value of the alpha filter reaches 100, it
> would be great if jQuery could just remove the filter entirely. This
> way it would only have issues when fading out or set to specific
> values. If it were to start completely opaque and then fade-out and
> back in then this wouldn't be an issue at all.
>
> That alone would be a huge win for jQuery on IE.
>
> BTW, I've experienced this in jQuery 1.3.x and 1.4rc1.
-- 
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-...@googlegroups.com.
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en.


Reply via email to