2012-08-02 41 views
1

可能重複:
Detecting when a div's height changes using jQuery
jQuery: Get height of hidden element in jQuery如何在沒有回調的情況下在淡入之後運行函數?

有沒有一種方法來檢測使用jQuery一個淡入事件的完成,所以我可以開槍完成的功能?

我明白fadeIn有一個內置的回調函數,但這需要我直接影響fadeIn代碼。我無法訪問該代碼,因此我想添加一個事件偵聽器或某個項目以檢測某個項目已經淡入。

我想這樣做的原因是因爲我有一些代碼檢測高度一個div,但在頁面加載這個div元素是隱藏的。我想檢測它在淡入後的div的高度。

+0

在一個區間內輪詢它的可見性/不透明度嗎? – Andy 2012-08-02 11:28:53

+0

@Antonio,調用'fadeIn()'的代碼是否總是在自己的代碼之前運行? – 2012-08-02 11:32:28

+0

它點擊運行。然後我想獲得元素的高度。我只有問題,因爲它始於顯示CSS:無我只需要該div的高度。 – 2012-08-02 11:44:38

回答

-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}); 
相關問題