我有一个折叠列表。 在 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; });
最佳答案
我假设 slideDown 动画需要时间,并且当您尝试获取它已经改变的高度时。
您可以为动画使用回调,并在动画结束后获取高度:
$('#slider' + x.id).children('ul,li').slideDown("slow", function()
{
//this executes AFTER the animation is complete.
var t = $('#slider_' + x.id).height();
}
关于javascript - jquery - 通过 AJAX 成功设置动态元素高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9276396/