jQuery Ajax pageload <div> puzzle </div>

时间:2009-12-21 03:53:05

标签: wordpress jquery pageload

还在学习这个jQuery的东西......

我喜欢这个ajax页面加载器;它适用于<div id="content">开箱即用的Wordpress。但有一件事困扰我:当ajax加载页面并旋转微调器时崩溃,我希望能够让div保留一些大小,而不是让页面的页脚跳起然后向下。它不必高于500-600像素,只是因为它不会上下跳动页脚。这个功能是否可以按照它的方式编写?以下是最相关的功能。 (我遗漏的其他人必须使用Wordpress及其URL结构。)

function loadPage(url){
  if(!isWorking){
    scroll(0,0);
    document.getElementById('content').innerHTML='<center><img src="'+loadingIMG.src+'" /></center>';
    http.open('GET',url,true);
    isWorking=true;
    http.onreadystatechange=showPage;
    http.send(null);
  }
}

function showPage(){
  if(http.readyState==4){
    if(http.status==200){
      isWorking=false;
      var content = http.responseText;
      content = content.split('id="content"')[1];
      content = content.substring(content.indexOf('>')+1);
      var depth=1;
      var output='';
      while(depth>0){
        temp = content.split('</div>')[0];
        //count occurrences
        i=0;
        pos = temp.indexOf("<div");
        while(pos!=-1){
          i++;
          pos = temp.indexOf("<div",pos+1);
        }
        //end count
        depth=depth+i-1;
        output=output+content.split('</div>')[0]+'</div>';
        content = content.substring(content.indexOf('</div>')+6);
      }
      document.getElementById('content').innerHTML=output;
      pageLoaderInit();
    }else{
      alert(http.status);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

我实际上并没有看到任何jquery,但你应该能够使用普通的旧javascript来设置内容div的高度。

在loadPage中:

var contentDiv = document.getElementById('content');
contentDiv.innerHTML='<center><img src="'+loadingIMG.src+'" /></center>';
contentDiv.style.height = "600px";

在showPage中:

var contentDiv = document.getElementById('content');
contentDiv.innerHTML=output;
contentDiv.style.height = "";