jQuery,Animate opacity为1然后删除opacity属性,使其在IE上更好看

时间:2010-04-08 22:47:33

标签: javascript jquery

我在所有浏览器中尝试过jQuery fadeIn动画,它运行良好,但在IE上却没有那么多。在附加CSS不透明度之后,Alpha png图像是如此令人毛骨悚然,但我有一个想法,我不知道如何使用jQuery实现它。

这个想法是淡化元素,当动画完成时,它将自动删除不透明度属性,以使图像质量更好。

怎么做?

注意:我正在使用Animate,而不是FadeIn。

由于

2 个答案:

答案 0 :(得分:5)

你可以这样做:

$(selector).animate({opacity: 1}, function() {
  $(this).get(0).style.removeAttribute('filter');
});

IE使用的过滤器是导致ClearType基本关闭的原因。淡化完成后删除该样式属性,如上面的代码,将ClearType恢复到正常工作状态。您还可以在此处找到处理此问题的替代fadeIn()fadeOut()fadeTo()方法:http://malsup.com/jquery/fadetest.html

答案 1 :(得分:5)

如果使用jQuery设置不透明度(以0开头):

$(object).css("opacity", 0); 

然后在你淡入之后,你可以:

$(object).fadeIn("slow", function(){ 
    $(object).css("opacity", "");
});

因为上述答案在IE< = 8

中对我不起作用