如何在没有回调的情况下在fadeIn之后运行一个函数?

时间:2012-08-02 11:19:28

标签: jquery function callback fadein

  

可能重复:
  Detecting when a div's height changes using jQuery
  jQuery: Get height of hidden element in jQuery

有没有办法用jQuery检测fadeIn事件的完成,所以我可以在完成时触发一个函数?

我理解fadeIn有一个内置的回调函数,但这需要我直接影响fadeIn代码。我无权访问该代码,所以我想添加一个事件监听器或其他东西来检测项目何时淡入。

我想这样做的原因是因为我有一些代码可以检测div的高度,但是在页面加载时这个div元素是隐藏的。我希望在淡入淡出后检测div的高度。

1 个答案:

答案 0 :(得分:-1)

您可以使用DOMAttrModified事件,虽然这取决于您需要支持的浏览器,因为它仍然具有实验性。

但是由于jQuery的animate()更改了元素的style属性,因此它是合适的。

//your code
var div = $('#some_div'), target_height = 100;
div.on('DOMAttrModified', function(evt) {
    if ($(this).height() == target_height) do_something();
});

//some code in another, untouchable script
$('#some_div').animate({height: 100});