复制番号代番号次のように:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>读取Xml并分页</title>
</head>
<本文>
<div id="ガオ">
</div>
<div>
<テーブル align="center">
<tr>
<td><input type="button" name="prev" id="prev" value="上一页" onclick="showPage('false')"><input type="button" id="next" name="next" value="下一页" onclick="showPage('true')"> </td>
</tr>
</テーブル>
</div>
<script type="text/javascript">
関数LoadXML(url)
{
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load(url);
}else if(document.implementation&&document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async=false;
xmlDoc.load(url);
}それ以外
{
alert("ブラウザではこのスクリプトを処理できません!");
}
xmlDoc を返します。
}
var xmlDoc=LoadXML("student.xml");
var students=xmlDoc.getElementsByTagName("student");
var stuLength=students.length;
var currentPage=0;
var pageSize=2;
var maxPage=Math.ceil(stuLength/pageSize);
関数 showPage(ページ)
{
var mytable=document.getElementsByTagName("テーブル")[1];
if(mytable) document.body.removeChild(mytable);
var table=document.createElement("テーブル");
table.setAttribute("id","mytable");
table.setAttribute("幅","600");
table.setAttribute("border","1");
document.body.appendChild(テーブル);
var header=table.createTHead();
var headerrow=header.insertRow(0);
headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));
headerrow.insertCell(1).appendChild(document.createTextNode("学校"));
headerrow.insertCell(2).appendChild(document.createTextNode("成绩"))
if(page=="true")
現在のページ++;
それ以外
現在のページ--;
if(現在のページ>=最大ページ) 現在のページ=最大ページ;
else if(currentPage<=0) currentPage=1;
var start=(currentPage-1)*pageSize;
var end=現在のページ*ページサイズ-1;
for(var i=start;i<=end;i++)
{
var e=学生[i];
var name=e.getAttribute("name");
var school=e.getElementsByTagName("school")[0].firstChild.data;
var グレード=e.getElementsByTagName("グレード")[0].firstChild.data;
var row=table.insertRow(i%pageSize+1);
row.insertCell(0).appendChild(document.createTextNode(name));
row.insertCell(1).appendChild(document.createTextNode(school));
row.insertCell(2).appendChild(document.createTextNode(school));
}
}
showPage("true");
</script>
</body>
</html>
コピーの過程で、代コードの処理に関連して、私が最初に、JavaScript代コードを了頭の領域に配置し、結果はdocument.bodyオブジェクトが空になりました!
我们都知道,javascript 在行時候,页面会暂定追加而去去行 html代码,故に当js代网在頭蠇签中的候時,html页面不行到体,故生成了错误!
その後、js代码、放在了bodyの尾部、これ、就能够正确body对オブジェクトを参照します!
同時に、大規模なネットワーク ステーション フレームワークでは、トップ 面の追加速度も向上させる方法の 1 つです。
追加のstudent.xmlの内容は次のとおりです。
复制番号代番号次のように:
<?xml バージョン="1.0" エンコーディング="utf-8"?>
<学生>
<学生名=高興>
<学校>西北大学1</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学2</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大3学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学4</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大5学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大6学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大7学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北8大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北九大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北10大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学</学校>
<グレード>76</グレード>
</学生>
<学生名=高興>
<学校>西北大学</学校>
<グレード>76</グレード>
</学生>
</学生>