我正在尝试使用JQuery fadeIn和fadeOut透明的png。当然,它在Firefox中看起来很光滑,但在IE(7和8)中明显低于可接受的程度。这是IE的一个已知错误,不幸的是似乎没有太多的解决方法。
基本上我正在做的是在图像上放置一个半透明的白色矩形,使图像显示在“背景中”。我想顺利地做到这一点,那就是fadeIn的用武之地。然而,由于IE的错误,我被迫在图像上淡出一个完全不透明的白色矩形,不幸的是它消失了。虽然这看起来明显更好,并且几乎是我正在寻找的,但它仍然是不可接受的。用户需要能够在页面上看到一些图像,尽管是在后台。
所以我的问题是:
有没有办法在动画制作75%的预期动画时间后停止fadeIn函数(或任何jquery动画)?
这会使我的图像75%混合白色矩形,我不必处理IE的令人讨厌的透明png bug。
谢谢!
答案 0 :(得分:5)
您可以使用不透明图像,只需将其不透明度设置为75%。
$('#overlay').animate({
opacity: 0.75
}, 5000, function() {
// Animation complete.
});
答案 1 :(得分:2)
使用animate函数将不透明度属性设置为所需级别的动画,而不是fadeIn / fadeOut。
答案 2 :(得分:2)
答案 3 :(得分:0)
不建议您使用,但这里是您问题的实际答案: - )
.stop( [ clearQueue ], [ jumpToEnd ] )
在元素上调用.stop()时 当前正在运行的动画(如果 任何)立即停止。如果,为 实例,正在隐藏一个元素 当.stop()是.slideUp() 叫,元素现在仍然是 显示,但将是一小部分 它以前的高度。打回来 函数不会被调用。