2014-10-10 69 views
0

說我做了一個ajax調用來檢索一些json,並將此數據附加到div #example,並且我想使用$('#example')獲得#example的高度。 。高度()。如果我立即獲得高度,所有項目可能不會被附加。我試圖在附加循環後面的ajax調用的success子句中獲得高度,但是附加動作一定不能完成,因爲我一直得到比預期更小的高度。準確計時以獲得#example的高度,最有利的行動是什麼?通過ajax附加元素後div的高度

+0

請顯示您的代碼和您的輸出/預期輸出 – orhanhenrik 2014-10-10 18:46:40

+0

如果在追加元素後調用高度,它應該工作正常,除非高度依賴於某些尚未加載的圖像?另外,它可能是因爲你想要outerHeight(),因爲高度不考慮填充? – nuway 2014-10-10 18:52:13

回答

0

您是否試圖獲得ajax調用成功的高度?

$.ajax({ 
    url: '/example', 
    dataType: 'json', 
    success: function(data) { 
    $('#example').height(); 
    }, 
    complete: function(data) { 
    $('#example').height(); 
    } 
}); 

如果仍然不行,請嘗試使用setTimeout的500毫秒,以確保$(「#示例」)已被填充。我也聽說過ajax的「完整」參數。

+0

爲什麼500?而不是600? – nuway 2014-10-10 19:05:23

+0

這真的是隨機的。 @paulalexandru是正確的,你可能只需要200-300毫秒。從經驗來看,500ms足夠長的時間用於瀏覽器處理,但足夠短以至於用戶無法檢測到任何實際的延遲。說得通? – myfashionhub 2014-10-10 19:11:35

+0

完全正是我所期待的!謝謝! – CaitlinHavener 2014-10-10 21:00:12