复代码代码如下:
<!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>
<테이블 정렬="가운데">
<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>
</table>
</div>
<스크립트 유형="텍스트/자바스크립트">
함수 LoadXML(url)
{
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc=새 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("학생");
var stuLength=students.length;
var 현재페이지=0;
var 페이지 크기=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("테두리","1");
document.body.appendChild(테이블);
var 헤더=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(페이지=="참")
현재페이지++;
또 다른
현재페이지--;
if(현재페이지>=maxPage) currentPage=maxPage;
else if(currentPage<=0) currentPage=1;
var start=(currentPage-1)*pageSize;
var end=currentPage*pageSize-1;
for(var i=start;i<=end;i++)
{
var e=학생[i];
var name=e.getAttribute("이름");
var school=e.getElementsByTagName("학교")[0].firstChild.data;
var grade=e.getElementsByTagName("grade")[0].firstChild.data;
var row=table.insertRow(i%pageSize+1);
row.insertCell(0).appendChild(document.createTextNode(이름));
row.insertCell(1).appendChild(document.createTextNode(school));
row.insertCell(2).appendChild(document.createTextNode(school));
}
}
showPage("참");
</script>
</body>
</html>
에서 涉写过程过, 涉及到代码的处理上, 由于我最初, 将javascript代码放에서 了head标签里面, 结果导致document.body对象为空!
우리는 javascript에서 执行的时候, 页face会暂定加载而去执行html代码,所以에 대해 알고 있습니다.当js代码放는 머리에 있습니다.
后来将js代码,放在了body的尾部,这样,就能够正确引用到body对象了!
같은 방식으로 大型网站架构中,也是提高页face加载速島 的一种方式!页면首页加载html标签内容,到页face最后,在执行js代码,能在很大程島上提升网页打开速島,提升用户体验!
외부 학생.xml内容是
复代码代码如下:
<?xml version="1.0" 인코딩="utf-8"?>
<학생>
<학생 이름="가오싱">
<학교>서북대학1</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대학2</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대3대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대학4</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대5대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대6학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<학교>서북8대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북9대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북10대학</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북대학교</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북대학교</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북대학교</school>
<학년>76</학년>
</학생>
<학생 이름="가오싱">
<school>서북대학교</school>
<학년>76</학년>
</학생>
</학생>