2012-02-14 51 views
1

我有一个折叠列表。 在Ajax成功时,列表自动展开。jquery - 由AJAX成功设置的动态元素高度

我想获得扩大名单的高度......并失败。

Ajax将动态元素添加到列表中,因此高度发生变化。

这里被剥离代码:

 
$('form').submit(function() { 

    $.ajax({ 
     type: "POST", 
     url: "ajax/ajax.php", 
     data: {data:JSON.stringify(data)}, 
     dataType: "json", 
     success: function(x) { 

      $('#slider' + x.id).children('ul,li').slideDown("slow"); 

      //this does not return expected height (outerHeight() also tried) 
      var t = $('#slider_' + x.id).height(); 
     } 
    }); 

    return false; 
}); 
+0

你尝试过的CSS(“高”);至今 ? – 2012-02-14 11:57:55

回答

3

我假设了slideDown动画需要它的时候,当你试图让它已经改变高度。

你可以使用一个回调动画,并获得高度时,动画结束:

$('#slider' + x.id).children('ul,li').slideDown("slow", function() 
    { 
    //this executes AFTER the animation is complete. 
    var t = $('#slider_' + x.id).height(); 
    } 
+0

不客气! :) – gideon 2012-02-14 12:16:46