Javascript AJAX调用jQuery后调整div的大小

Javascript AJAX调用jQuery后调整div的大小,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我试图在通过AJAX加载新的HTML内容后调整div的大小。我有一个hashbang链接系统,如果URL中存在某些哈希,它会加载特定的HTML片段。当按下链接以加载内容时,div高度会正确调整大小,但当直接导航到页面时,加载内容的计算高度始终小于20px HTML: <div id="help_page_header"> <h3>Need some help with searches?</h3> <ul class="help_

我试图在通过AJAX加载新的HTML内容后调整div的大小。我有一个hashbang链接系统,如果URL中存在某些哈希,它会加载特定的HTML片段。当按下链接以加载内容时,div高度会正确调整大小,但当直接导航到页面时,加载内容的计算高度始终小于20px

HTML:

<div id="help_page_header">
      <h3>Need some help with searches?</h3>
      <ul class="help_tabs">
        <li class="help_tab"><a class="docs_link" rel="recommendations" href="#!/recommendations">Recommendations</a></li>
        <li class="help_tab"><a class="docs_link" rel="whats_hot" href="#!/whats_hot">What's Hot</a></li>
        <li class="help_tab"><a class="docs_link" rel="history" href="#!/history">History</a></li>
        <li class="help_tab"><a class="docs_link" rel="misc" href="#!/misc">Additional Features</a></li>
      </ul>
      </div>
      <div class="help_page_content">
        <p>Select a help topic above!</p>
      </div>
 ...
举例说明:


如果我直接导航到www.homepage.com/docs/,然后单击其中一个帮助链接来加载内容,那么高度的计算结果很好。但是,如果我导航到www.homepage.com/docs/#/在历史记录中,计算的高度总是比它应该的低20px左右。

#ajax_page_wrap
div中是否有一个图像在您直接导航到那里时尚未加载(并且ajax调用在加载之前已经完成)

使用
$(窗口).load
(等待所有图像加载)而不是
$(文档).ready
(不加载)怎么样。看


希望有帮助!让我知道如果这不是问题所在,我会继续进行头脑风暴:)

你能创建JSFIDLE吗?我完全确定如何让AJAX请求在JSFIDLE中工作。不过,我将这些文件上载到了我站点的暂存子域,问题消失了……这似乎只发生在本地主机站点上@Alex内容区域没有填充。
$(document).ready(function(){
  if(window.location.hash)
  {
    loadContent(window.location.hash)
  }

  $(".docs_link").click(function(e){
    $(".help_page_content").html("")
    var fragment = this.hash
    loadContent(fragment)
  });

  function loadContent(fragment)
  {
    fragment = fragment.slice(1).replace(/!\//g, "");
    $(".help_page_content").load("./"+fragment+".html", function(){
      var height = $("#ajax_page_wrap").outerHeight();
      $(".help_page_content").animate({height: height}, 500);
    });
  }
});