我有一个折叠列表。 在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 :(得分:3)
我假设slideDown动画花费时间,当你试图获得它已经改变的高度时。
您可以为动画使用回调,并在动画结束后获得高度:
$('#slider' + x.id).children('ul,li').slideDown("slow", function()
{
//this executes AFTER the animation is complete.
var t = $('#slider_' + x.id).height();
}