Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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显示xml数据,函数末尾有问题吗?_Javascript_Html_Xml - Fatal编程技术网

用javascript显示xml数据,函数末尾有问题吗?

用javascript显示xml数据,函数末尾有问题吗?,javascript,html,xml,Javascript,Html,Xml,正在尝试为将来的项目创建文本/示例页。我希望能够一次从xml文档中列出一定数量的对象,并使用一个按钮加载下一个对象。有点像浏览目录。这是我得到的,我很确定问题出在listbytree函数的末尾。我只是不知道如何将该函数插入pageload上指定的div元素。有什么帮助吗 <!DOCTYPE html /> <html> <head> <script> if (window.XMLHttpRequest) { xmlhttp=new XML

正在尝试为将来的项目创建文本/示例页。我希望能够一次从xml文档中列出一定数量的对象,并使用一个按钮加载下一个对象。有点像浏览目录。这是我得到的,我很确定问题出在listbytree函数的末尾。我只是不知道如何将该函数插入pageload上指定的div元素。有什么帮助吗

<!DOCTYPE html />
<html>
<head>

<script>
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();  // code for IE7+, Firefox, Chrome, Opera, Safari
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  // code for IE6, IE5
  }
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

var i=0;
var x=xmlDoc.getElementsByTagName("book");
function listbythree()
{
    for (i;i<3;i++)
      {
      document.write("<div style='display:inline;float:left;background-color:#ffff99;padding:10px;width:300px;height:210px;margin:5px;font-size:14px;'><img style='float:left;padding-right:4px' src=");
      document.write(x[i].getElementsByTagName("cover")[0].childNodes[0].nodeValue + " />");
      document.write("<em>" + x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue + "</em><br/>");
      document.write(x[i].getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br/>");
      document.write(x[i].getElementsByTagName("pub")[0].childNodes[0].nodeValue + "<br/>");
      document.write(x[i].getElementsByTagName("edition")[0].childNodes[0].nodeValue + "<br/>");
      document.write(x[i].getElementsByTagName("genre")[0].childNodes[0].nodeValue + "<br/>");
      document.write("Have I Read: " + x[i].getElementsByTagName("read")[0].childNodes[0].nodeValue);
      document.write("</div>");
      }
    document.getElementById("booksbythree").innerHTML=this;
};


function next()
    {
    if (i<x.length-1)
  {
  i+3;
  listbythree();
  }
}

function previous()
{
if (i>0)
  {
  i-3;
  listbythree();
  }
}

</script>

</head>
<body onload="listbythree()">

<div id="booksbythree"></div><br/><br/>
<input type="button" onclick="previous()" value="<<" />
<input type="button" onclick="next()" value=">>" />

</body>

</html>

if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();//IE7+、Firefox、Chrome、Opera、Safari的代码
}
其他的
{
xmlhttp=newActiveXObject(“Microsoft.xmlhttp”);//IE6、IE5的代码
}
open(“GET”,“books.xml”,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var i=0;
var x=xmlDoc.getElementsByTagName(“账簿”);
函数listbytree()
{
因为(我;我)

I我知道我以后必须编辑该部分时,您的for循环只会循环,但目前该函数在页面加载时加载,但是应该显示在三个条目下面的next和previous按钮没有显示。list by three函数应该被调用到底部的div元素,在它下面的是the下一个和上一个按钮。现在只是加载功能,没有其他功能。只是尝试了你的建议,即使有了它们,下一个和上一个按钮也不会出现
function listbythree()
{
    var j = i+3;
    for (i;i<j&&i<x.length;i++)
    {
    ....
    }
}

function next()
{
if (i<x.length-1)
{
   listbythree();
}
}