簡體   English   中英

在jQuery中,你能獲得一個褪色元素的“目標”不透明度嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM