延迟显示新内容,直到布局完成

时间:2015-10-27 08:03:04

标签: javascript html ajax dom

当动态更改div中的内容时,是否有一种方法可以延迟显示新内容,直到所有布局完成为止?

我使用javascript和ajax来更新div的内容,当我插入ajax脚本返回的html时,看起来在元素可见后进行新内容的布局,溢出目标div < / p>

虽然这种情况很快发生,最终的结果正如我所希望的那样,它确实会产生令人不快的“闪烁”。我想避免

的javascript

      $requestURL = 'Scripts/getCategoryItems.php?Category='+$category+'&PageLength='+$pageLength+'&Page='+$page ;  
  AjaxRequest.open('GET',$requestURL,true);
    AjaxRequest.onreadystatechange = function()
      { if(AjaxRequest.readyState == 4)
        { 
          if (AjaxRequest.responseText !== 'false') 
          { TargetContainer.style.display = "none";
            TargetContainer.innerHTML=AjaxRequest.responseText;
            TargetContainer.style.display = "block";
          } else { alert(AjaxRequest.responseText); } ;
          document.body.className = '';
        }
      };
  document.body.className = 'waiting';
  AjaxRequest.send(); 

HTML:

<div id="Content" style="float:left; width:820px; height:550px; max-height:550px; color:#E0E0E0;  padding-top:30px; overflow:hidden;"></div>

1 个答案:

答案 0 :(得分:0)

您可以在文档中运行代码,以便在开始进行ajax调用之前完全加载文档。

编辑:或者,如果您不使用jQuery,则使用window.onload事件。