jQuery fadeIn()从不透明度0.1开始-可行吗?

8
我想要淡入一个div,它的opacity初始值为0.1或在ie中为filter: alpha(opacity = 10)。
我知道可以使用.animate({css....来实现支持opacity的if语句,但我正在寻找一种快速简便的跨浏览器解决方案,我想jquery已经有了这样的解决方案?
3个回答

14
你可以使用.animate()来实现这一点:
.animate({ opacity: 1 });

不需要检查$.support.opacity,如果需要,它将使用alpha滤镜版本,jQuery在内部进行了标准化。明确一点,这支持所有浏览器,包括IE。您可以在此处进行测试

编辑:重新阅读您的问题,似乎这些样式可能在样式表中而不是由.css()设置,在这种情况下,只需为IE添加zoom: 1以正确淡出,您可以在此处查看演示。您可以在此处看到其内部工作原理。


该段内容涉及编程,以下为翻译文本:该死的IE浏览器,使用zoom:1修复后,淡入效果非常棒,但当它停留在alpha 100时,突然变得很糟糕!这一定与IE的alpha和我使用的透明PNG图像有关。哦,好吧,我认为这是IE用户可以暂时放弃的一个装饰效果!感谢您的帮助。 - Haroldo

4
time = 1000; // time in ms to fade from 0.1 to 1
$("#id").fadeTo(0, 0.1).fadeTo(time, 1)

FYI.. fadeTo 的持续时间为 0 与直接调用 css('opacity', ...) 是相同的。请参阅文档 - Matt

2

您可以使用 css 设置不透明度,然后开始 fadeIn

例如:

yourElement.css('opacity', .1).fadeIn();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接