Kexun SQL の商用バージョンで使用される ajax スペースおよびページング関数、その js コード学習は非常に優れています。
//ajax 制御
function PageAjax(){
var xhrObj=null; window.XMLHttpRequest)
Obj=newActiveXObject ("Microsoft.XMLHTTP")
}
catch(e1)
try{
xhrObj=new ActiveXObject("MSXML2.catch(e2){
try{
xhrObj=new ActiveXObject("MSXML3.XMLHTTP");
}
catch(e3){
alter("Ajax の作成に失敗しました:" e3)
}
}
}
}
else
{
warning("認識されないブラウザ")
}
return
}
function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)
{
this.labelid=labelid;
this.url=url; 🎜> if (labelid.substring(0,5)=="{SQL_")
{
var slabelid=labelid.split('(')[0];
slabelid=slabelid.replace( "{","");
this.c_obj="c_" slabelid;
this.p_obj="p_" slabelid;
else
{
this.c_obj ="c_" ラベル ID;
this.p_obj="p_" ラベル ID;
this.refreshtype=refreshtype;
this.specialid=specialid; 🎜> this.page=curPage;
loadData(1);
関数loadData(p)
{this.page=p;
var xhr=new PageAjax(); 🎜> xhr.open("get",installdir url "?labelid="escape(labelid) "&classid="classid "&refreshtype="refreshtype "&specialid="specialid "&curpage=" p, true); eval('document.すべて";
else if(xhr.readyState==4)
{
if (xhr.status==200) {
var pagearr=xhr.responseText.split ("{ks:page}")
var pageparamarr=pagearr[1].split("|");
count=pageparamarr[0];
perpagenum=pageパラマー[1]; pagecount=pageparamarr[2];
itemunit=pageparamarr[3];
itemname=pageparamarr[4];
getObject(c_obj).innerHTML=pagearr[0 ];
pagelist();
}
}
xhr.send(null);
}
関数getObject(id)
{
if(document.getElementById)
{
return document.getElementById(id);
}
else if(document.all)
{
return document.all[id];
}
else if(document.layers)
{
return document.layers[id];
}
}
関数 pagelist()
{
var n=1;
var statushtml=null;
switch(parseInt(this.pagestyle))
{
case 1:
statushtml="共" this.count this.itemunit " 首页 上一页 下一页 尾页 页次:" this.page "/" this.pagecount "页 " this.perpagenum this.itemunit this。アイテム名 "/页";
休憩;
ケース 2:
statushtml="" this.pagecount "页/" this.count this.itemunit " 9 7 ";
var startpage=1;
if (this.page==10)
startpage=2;
else if(this.page>10)
startpage=eval((parseInt(this.page/10)-1)*10 parseInt((this.page) ) 2);
for(var i=startpage;i if (i==this.page)
statushtml ="" i " "
else
statushtml ="" i " "
n=n 1;
if (n>10) break;
}
statushtml ="8 :";
statushtml="" statushtml "";
休憩;
ケース 4:
statushtml="共" this.pagecount "页/" this.count this.itemunit this.itemname " 9 7 ";
for(var i=this.page;i if (i==this.page)
statushtml ="" i " "
else
statushtml ="[" i "] "
n=n 1;
if (n>10) break;
}
statushtml ="8 :";
休憩;
ケース 3:
statushtml="第" this.page "页 共" this.pagecount "页 > >> " this.perpagenum this.itemunit this.itemname "/页";
休憩;
}
statushtml = いいえ。ページ";
getObject(this.p_obj).innerHTML=statushtml;
}
function homePage()
{
if(this.page==1)
alter("すでにホームページ! ")
else
loadData(1);
}
function lastPage()
{
if(this.page==this.pagecount)
アラート(「すでに最後のページです!」)
else
loadData(this.pagecount)
}
functionPreviousPage()
{
if (this.page>1);
loadData(this.page-1);
else
alert("すでに最初のページ")
}
function nextPage()
{
if(this.page
else
alert("最後のページに到達しました")
}
functionturn( i)
{
ロードデータ(i);