[英]In jQuery, can you get the “target” opacity of an element that is fading?
我想以某种方式获得一个褪色元素的目标不透明度(它被动画的最终值)。
例如...
$('body').fadeTo(0.4); // 0.4
$('body').fadeIn(); // 1
$('body').fadeOut(); // 0
$('body').animate({ opacity: 0.7 }); // 0.7
这在jQuery中可行吗?
对于某些背景,请参阅Stack Overflow上的答案。 我试图帮助SO上的另一个用户,并决定问这个与我的答案有关的问题。
我不认为会有。 没有对象的属性可以告诉它到底的位置,只有它当前的位置。 Jquery只是动画CSS属性。
失败一切......
var destination = 0.4;
$('body').fadeTo(destination);
//O wow. Now we know what is fading to!
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.elem
。
fx.end
是动画的最终值, fx.now
是当前值, fx.start
是起始值。 fx.unit
是值的单位(以px,em,%等表示)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.