【问题标题】:Div Height doesnt get resized after AJAX call completionAJAX 调用完成后,Div 高度不会调整大小
【发布时间】:2012-03-29 12:39:44
【问题描述】:

我想增加 div 的高度(id = scroller)并将其设置在成功回调函数的末尾。在成功回调函数中,我动态注入了一些包含在“滚动”div 中的内部 div。

滚动 div 的默认高度为 400 像素。它是动态的,例如为900px,则应设置为900px。

height = $('#content').innerHeight();     
alert("outside: " + height);   
$('#scroller').css('height', height + "px");  

到目前为止一切顺利。现在,如果我有一个警告声明,这个调整大小就可以工作了。如果我删除警报,它不会自行调整大小。

可能是什么问题?

提前致谢。

附: height: auto 不起作用可能是因为我希望在 android 模拟器/手机上使用此功能,并且我正在使用 Phonegap 开发我的移动应用程序。

【问题讨论】:

  • 你能把你的html也发一下吗?
  • 你可以试试$('#scroller').height(height);
  • 我昨天才解决了这个问题...抱歉我不能立即发布它。这是解决方案,我在调整 div 高度后使用了 iScroll.refresh(),因为 iScroll 没有检测到 div 后的 DOM 变化高度已更改。因此,您需要调用 iScroll.refresh() 以根据更改的 DIV 大小调整其滚动条大小。

标签: ajax html resize


【解决方案1】:

如何创建一个新的 div,将数据加载到其中,然后使用 jQuery replaceWith() 方法将旧的内容 div 替换为新的内容。这可能是强制浏览器重新计算(新)内容 div 及其周围所有内容的高度的一种方法。 比如:

var newContent = $('<div id="content"></div>').load(toLoad,'',showNewContent());
$('#content').replaceWith(newContent);

【讨论】:

    猜你喜欢
    • 2022-08-17
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2014-02-08
    • 2012-04-02
    • 2013-10-09
    相关资源
    最近更新 更多