基于web的技術中,分頁是一個老的不能再老的,但大家津津樂道的問題,隨著xml技術的日漸應用,把xml應用到分頁當中,也是一種可能,當然網(wǎng)上的教程很多,當我都是看得稀里糊涂,索性自己寫一個,與大家分享、指正。 共有兩個文件tmh.htm tt.xml 源代碼如下: tmh.htm ___________________________________________________ !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> HTML> HEAD> TITLE> New Document /TITLE> META NAME="Generator" CONTENT="EditPlus"> META NAME="Author" CONTENT=""> META NAME="Keywords" CONTENT=""> META NAME="Description" CONTENT=""> link rel="stylesheet" href="../website.css" type="text/css"> /HEAD> BODY>
script language="javascript"> //****************變量相關定義************** //* author:海仔 * //* Email:rautinee@21cn.com * //*本程序可自由傳播使用,但請務必保留此信息 * //**************************************** var pagenum=4; //每頁顯示幾條信息 var page=0 ; var contpage ; var BodyText=""; var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); var mode="member"; var toolBar; xmlDoc.async="false" xmlDoc.load("tt.xml") //***************這個地方是你根據(jù)實際取得的字段名稱來改了 header="TABLE border=1>tr>td>姓名/td>td>圖標/td>td>IP地址/td>td>email/td>td>/td>td>日期/td>td>/td>td>/td>/tr>";
} //當前的頁數(shù) function currentPage() { var cp; cp="當前是第 "+(page+1)+" 頁"; return cp; } //總共的頁數(shù) function allPage() { var ap; ap='總共 '+(pagesNumber+1)+' 頁'; return ap } function NextPageGo() { if (pagepagesNumber) page++;
getContent(); BodyText=""; }
//顯示分頁狀態(tài)欄 function pageBar(page) { var pb; pb=UpPage(page)+" "+NextPage(page)+" "+currentPage()+" "+allPage()+selectPage(); return pb; } function changePage(tpage) {
page=tpage if(page>=0) page--; if (pagepagesNumber) page++; getContent(); BodyText=""; } function selectPage() { var sp; sp="select name='hehe' onChange='javascript:changePage(this.options[this.selectedIndex].value)'>"; //sp="select name='hehe' onChange='alert(this.options[this.selectedIndex].value)'>"; sp=sp+"option value=''>/option>"; for (t=0;t=pagesNumber;t++) { sp=sp+"option value='"+t+"'>"+(t+1)+"/option>"; } sp=sp+"/select>" return sp; }
function getContent() {
if (!page) page=0; n=page*pagenum; endNum=(page+1)*pagenum; if (endNum>maxNum) endNum=maxNum; BodyText=header+BodyText; for (;nendNum;n++) {