ajax分頁 php ajax 分頁 java ajax分頁 asp.net ajax分頁 jquery ajax 分頁 jsp ajax無刷新分頁 asp ajax分頁 ajax 分頁問題 ajax實現分頁 ajax jsp分頁
下面接著上一篇文件來看page.js的代碼,
var Page = {
url:'',//URL地址
method:'GET',
display:'',//分頁顯示方法Default || Default2 || 也可以自定義
Plugins:'', //返回JSON數據,需要用此函數格式化 需自定義函數
pagediv:'', //分頁字符顯示的DIV
index:'[第一頁]',
lastpage:'[上一頁]',
nextpage:'[下一頁]',
endpage:'[最尾頁]',
lastten:'[上10頁]',
nextten:'[下10頁]',
javascript:'Page.Open',//很郁悶吧~函數名
Send: function(method,url,pars,fun) {// Ajax連接初始化
new Ajax.Request( url,{method: method, parameters: pars, onComplete: eval('this.Result')});
},
Open: function(pageno){
SetCookie('pageno',pageno);
pars='pageno='+pageno;
url=this.url;
fun=this.display;
method=this.method;
Page.Send(method,url,pars,fun);
},
Init:function(url,options){
this.url=url;
this.display=options.display;
this.pagediv=options.pagediv;
this.Plugins=options.format;
pageno=GetCookie('pageno')?GetCookie('pageno'):1;
this.Open(pageno);
},
Result:function(http) {
if(http.readyState == 4 ) {
if(http.status == 200) {
var response=http.responseText;
response=eval("("+response+")");
if(response.result) eval(Page.Plugins)(response.result);
pageno=parseInt(response.page.pageno);
totalpage=parseInt(response.page.totalpage);
number=parseInt(response.page.number);
try{
eval('Page.'+Page.display)(pageno,totalpage,number);//調用分頁控制函數,其實有著三個參數可以定制出更多的分頁樣式
}
catch(e){
try{
eval(Page.display)(pageno,totalpage,number);
}
catch(e){
alert('未定義的分頁控制處理函數'+Page.display);
}
}
}
}
},
number:function(pageno,totalpage,number) {
pagenums=10;
page=Math.ceil(pageno/pagenums);
pagenum=Math.ceil(totalpage/pagenums);
if(page==pagenum) nums=(totalpage-(pagenum-1)*pagenums); else nums=pagenums;
htmlstr='';
if(number==0) htmlstr+='當前頁沒有任何記錄!';
else{
if(page==1) htmlstr+=Page.lastten;
else
htmlstr+='<a href="javascript:'+Page.javascript+'('+((page-1)*pagenums)+')">'+Page.lastten+'</a>';
if(pageno==1) htmlstr+=Page.lastpage;
else
htmlstr+='<a href="javascript:'+Page.javascript+'('+(pageno-1)+')">'+Page.lastpage+'</a>';
for(p=1;p<=nums;p++) {
htmlstr+='<a href="javascript:'+Page.javascript+'('+((page-1)*pagenums+p)+')"><span>';
if(pageno==((page-1)*pagenums+p))
htmlstr+='<b>['+((page-1)*pagenums+p)+']</b></span></a>';
else
htmlstr+='['+((page-1)*pagenums+p)+']</span></a>';
}
if(pageno==totalpage)
htmlstr+=Page.nextpage;
else
htmlstr+='<a href="javascript:'+Page.javascript+'('+(pageno+1)+')">'+Page.nextpage+'</a>';
if(page==pagenum)
htmlstr+=Page.nextten;
else
htmlstr+='<a href="javascript:'+Page.javascript+'('+((page*pagenums)+1)+')">'+Page.nextten+'</a>';
htmlstr+='[共'+totalpage+'頁|'+number+'條記錄]';
}
$(Ajaxdiv).innerHTML=htmlstr;
},
string:function(pageno,totalpage,number) {
htmlstr='';
if(number==0) htmlstr+='當前頁沒有任何記錄!';
else{
if(pageno==1) htmlstr+=' '+Page.index+' '+Page.lastpage;
else{
htmlstr+=' <a href="javascript:'+Page.javascript+'(1)">'+Page.index+'</a> <a href="javascript:'+Page.javascript+'('+(pageno-1)+')">'+Page.lastpage+'</a>';
}
if(pageno==totalpage) htmlstr+=' '+Page.nextpage+' '+Page.endpage+' ';
else{
htmlstr+=' <a href="javascript:'+Page.javascript+'('+(pageno+1)+')">'+Page.nextpage+'</a> <a href="javascript:'+Page.javascript+'('+(totalpage)+')">'+Page.endpage+'</a> ';
}
htmlstr+='[共'+totalpage+'頁|'+number+'條記錄]';
}
$(Page.pagediv).innerHTML=htmlstr;
}
}//結束
這個文件主要的作用就是實現在客氣有分頁效果喽.