停止jQuery的动画过早
题
我试图淡入淡出和使用JQuery一个透明的PNG。当然,它看起来在Firefox光滑,但显著小于可接受的IE(7和8)。这是一个已知的bug与IE浏览器,可惜似乎没有成为太大的变通方法。
基本上我在做什么是放置一个半透明白色矩形在图像,使图像显得“在后台”。我想顺利做到这一点,而这也正是淡入进来。因为IE的bug,不过,我已经被迫淡入一个完全不透明的白色矩形在图像代替,使其不幸消失。虽然这看起来显著更好,几乎是什么我要找的,它仍然是不能接受的。用户需要能够在页面上看到一些图像,尽管在背景中。
所以我的问题是这样的:
有没有办法动画用于其预期的动画时间75%之后停止淡入功能(或任何jQuery的动画,真的)?
这会离开我的形象,75%混合白色矩形,我就不会去对付IE的讨厌透明PNG漏洞。
谢谢!
解决方案
您可以使用一个不透明的图像和动画只是它的不透明度为75%。
$('#overlay').animate({
opacity: 0.75
}, 5000, function() {
// Animation complete.
});
其他提示
相反淡入的/淡出,使用动画功能不透明度属性动画到所需水平。
不推荐您的具体情况,但这里的实际回答你的问题问的: - )
.stop( [ clearQueue ], [ jumpToEnd ] )
当.stop()被调用的元件上, 当前正在运行的动画(如果 有的话)立即停止。如果, 例如,一个元件被被隐藏 与.slideUp()时.stop()是 所谓的元素现在仍然是 显示,但将一小部分 以前的高度。打回来 功能不被调用。
不隶属于 StackOverflow