[英]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.