javascript - 在 jQuery 中,你能得到正在褪色的元素的 "target"不透明度吗?

标签 javascript jquery opacity

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

例如……

$('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/

相关文章:

javascript - 将参数从模型传递到 JavaScript

javascript - 在Javascript中从字符串中获取多个数字

javascript - 我想使用 Bootstrap Modal 按钮来返回点击事件的结果

jquery - 如何从 SignalR 调用多个集线器方法

html - 未访问的链接看起来不对

CSS 位置和不透明度样式干扰悬停和点击事件

javascript - 转义字符串字符而无需手动转义它们

jQuery text() 函数在 IE 中丢失换行符

css - 使用不透明度值在 sass 中创建调色板或将不透明颜色转换为基色的最佳方法

javascript - onScroll 事件在 IE11 中没有被调用