jQuery fadeIn事件?

mat*_*sev 10 javascript jquery fadein

当元素在使用jQuery时已经消失时,是否有可能获得某种事件通知?即如果有'fadeInEvent',我会尝试类似的东西

$('elements').delegate('selector', 'fadeInEvent', function() {
    alert('someId has faded in');
});
Run Code Online (Sandbox Code Playgroud)

我知道jQuery.fadeIn()有一个回调函数,例如

$('#someId').fadeIn('fast', function() {
    alert('callback when someId has faded in');
});
Run Code Online (Sandbox Code Playgroud)

但如果可能的话,我宁愿使用事件解决方案.我也使用了一些原型:visible,但它true在淡入完成之前返回.

Jam*_*ice 12

您可以在回调中触发自定义事件:

$("#someId").fadeIn("fast", function() {
    $(this).trigger("fadeInComplete");
});
Run Code Online (Sandbox Code Playgroud)

该事件将像大多数事件一样冒泡DOM树,因此您可以使用on(jQuery 1.7+)在任何祖先元素上捕获它,bind或者delegate:

$("#someAncestor").on("fadeInComplete", function() {
    //Element has finished fading in.
});
Run Code Online (Sandbox Code Playgroud)