【问题标题】:jquery - dynamic element height set by AJAX successjquery - AJAX成功设置的动态元素高度
【发布时间】:2012-03-05 19:00:27
【问题描述】:

我有一个折叠列表。 在 Ajax 成功时,列出自动扩展。

我正在尝试获取扩展列表的高度......但失败了。

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

这里是剥离代码:

$('form').submit(function() { $.ajax({ 类型:“发布”, 网址:“ajax/ajax.php”, 数据:{数据:JSON.stringify(数据)}, 数据类型:“json”, 成功:函数(x){ $('#slider' + x.id).children('ul,li').slideDown("slow"); //这不会返回预期的高度(outerHeight() 也试过) var t = $('#slider_' + x.id).height(); } }); 返回假; });

【问题讨论】:

  • 你试过 .css("height");到目前为止?

标签: javascript jquery ajax


【解决方案1】:

我假设 slideDown 动画需要时间,而当您尝试获取高度时,它已经改变了。

您可以为动画使用回调,并在动画结束后获取高度:

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

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 2015-08-13
    • 2012-06-19
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多