Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Ajax无限滚动设置追加新行_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何使用Ajax无限滚动设置追加新行

Javascript 如何使用Ajax无限滚动设置追加新行,javascript,jquery,ajax,Javascript,Jquery,Ajax,我对Javascript有点生疏了 我有一个无限滚动设置。当用户到达页面底部时,会在javascript中触发以下事件: maintable.innerHTML += 'Hello <br><br><br>'; 当getRows()时;它自己运行最初它会在后端数据库中获得前50条记录。 然后一个变量从1更新到51,这样下次运行时(滚动到底部时),它会将行51拉到100 我的问题是,附加部分:+=,似乎不起作用,因为它将我的前50行替换为第51到100行。我想

我对Javascript有点生疏了

我有一个无限滚动设置。当用户到达页面底部时,会在javascript中触发以下事件:

maintable.innerHTML += 'Hello <br><br><br>';
当getRows()时;它自己运行最初它会在后端数据库中获得前50条记录。 然后一个变量从1更新到51,这样下次运行时(滚动到底部时),它会将行51拉到100

我的问题是,附加部分:+=,似乎不起作用,因为它将我的前50行替换为第51到100行。我想把它加上,这样我现在看到的是第1到100行

有人能指出+=和函数的错误吗? 也许有更好的方法在不丢失前几行的情况下增加新的行数

谢谢

编辑:

这是getRows()的代码;功能:

<script>
function getRows(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","getrows.php?q="+str,true);
  xmlhttp.send();
}
</script>

函数getRows(str){
如果(str==“”){
document.getElementById(“txtHint”).innerHTML=“”;
回来
} 
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“getrows.php?q=“+str,true”);
xmlhttp.send();
}
文件getrows.php是对我的数据库的一个简单查询,它有1000条记录。对于返回的每一行,该文件还在循环中回显表标记和td元素


问题仍然是,除了使用=+。

可能是appendChild()而不是innerHtml之外,我对在已经存在的内容中附加内容知之甚少。一些无限卷轴在要加载的页面中使用锚定作为占位符。您可以发布getRows的代码吗?当然可以:我已将其添加到帖子中。谢谢
<script>
function getRows(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","getrows.php?q="+str,true);
  xmlhttp.send();
}
</script>