在jQuery中,你能得到一个褪色元素的“目标”不透明度吗?

我想以某种方式获得一个正在衰落的元素的目标不透明度(它被动画化的最终值)。

例如…

$('body').fadeTo(0.4); // 0.4 $('body').fadeIn(); // 1 $('body').fadeOut(); // 0 $('body').animate({ opacity: 0.7 }); // 0.7 

这在jQuery中可行吗?

更新

对于某些背景,请参阅Stack Overflow上的答案。 我试图帮助SO上的另一个用户,并决定问这个与我的答案有关的问题。

jQuery在内部使用步骤函数,你可以覆盖jQuery.fx.step.opacity函数来读取传递的jQuery.fx对象:

 var old = jQuery.fx.step.opacity; jQuery.fx.step.opacity = function( fx ) { console.log(fx.elem); console.log(fx.end); return old(fx); }; 

每个不透明度动画的每一步都会调用不透明度步长函数。 您可能希望根据fx.elem过滤上述fx.elem

fx.end是动画的最终值, fx.now是当前值, fx.start是起始值。 fx.unit是值的单位(以px,em,%等表示)。

我不认为会有。 没有对象的属性可以告诉它到底的位置,只有它当前的位置。 Jquery只是动画CSS属性。

失败一切……

 var destination = 0.4; $('body').fadeTo(destination); //O wow. Now we know what is fading to!