Kexun SQL의 상용 버전에 사용되는 ajax 공간 및 페이징 기능은 js 코드 학습이 매우 좋습니다
//ajax 제어
function PageAjax(){
var xhrObj=null
if( window.XMLHttpRequest)
Obj=newActiveXObject ("Microsoft.XMLHTTP")
}
catch(e1)
try{
x; hrObj=new ActiveXObject("MSXML2.catch(e2){
try{
xhrObj=new ActiveXObject("MSXML3.XMLHTTP")
}
catch(e3){
Alert("Ajax 생성 실패:" e3)
}
}
}
}
else
{
Alert("인식할 수 없는 브라우저")
}
return xhrObj; >function Page(curPage,labelid,classid,installdir,url,refreshtype,specialid)
{
this.labelid=labelid;
this.classid=classid; 🎜> 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_" labelid;
this.p_obj="p_" labelid;
}
this.refreshtype=refreshtype;
🎜> this.page=curPage;
loadData(1);
}
function 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. 모두.' c_obj).innerHTML="
서버에 연결하는 중...
";
~ > ";
}
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=pagepara 마르[1]; pagecount=pageparamarr[2];
itemunit=pageparamarr[3];
itemname=pageparamarr[4]
pagestyle=pageparamarr[5];
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];
}
}
function 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;
(n>10) 중단되는 경우;
}
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;
(n>10) 중단되는 경우;
}
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)
Alert("이미 홈페이지! ")
else
loadData(1);
}
function lastPage()
{
if(this.page==this.pagecount)
경고 ("벌써 마지막 페이지입니다!")
else
loadData(this.pagecount)
}
function PreviousPage()
{
if (this.page>1)
loadData(this.page-1);
else
Alert("이미 첫 페이지입니다.")
}
function nextPage()
{
if(this.page
else
Alert("마지막 페이지에 도달했습니다.")
}
functionturn( i)
{
로드데이터(i)
}