我想以某种方式获得正在褪色的元素的目标不透明度(它被动画化到的最终值)。
例如……
$('body').fadeTo(0.4); // 0.4
$('body').fadeIn(); // 1
$('body').fadeOut(); // 0
$('body').animate({ opacity: 0.7 }); // 0.7
这在 jQuery 中可行吗?
更新
有关一些背景,请参阅我在 Stack Overflow 上的回答.我试图在 SO 上帮助另一个用户,并决定问这个与我的答案相关的问题。
最佳答案
jQuery内部使用step函数,你可以覆盖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.end
是动画的最终值,fx.now
是当前值,fx.start
是起始值. fx.unit
是值的单位(px、em、% 等)。
关于javascript - 在 jQuery 中,你能得到正在褪色的元素的 "target"不透明度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970395/