我在所有浏览器中尝试过jQuery fadeIn动画,它运行良好,但在IE上却没有那么多。在附加CSS不透明度之后,Alpha png图像是如此令人毛骨悚然,但我有一个想法,我不知道如何使用jQuery实现它。
这个想法是淡化元素,当动画完成时,它将自动删除不透明度属性,以使图像质量更好。
怎么做?
注意:我正在使用Animate,而不是FadeIn。
由于
答案 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
中对我不起作用