分頁 js 代碼

自己做一個js的分頁代碼

test.html

 

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script  src="page-common.js"></script>
<link href="pagination.css" type="text/css"  rel="stylesheet" />
</head>

<body οnlοad="getQueryPage()">
<div id="pageQuery"><div>
</body>
<script type="text/javascript">
var divPage =new Pagination({id:'pageQuery',totalNum:1000,_onclick:function(currentIndex,maxNum){alert(currentIndex+":"+maxNum)}});
function getQueryPage(){
 divPage.initPage("divPage");
}
</script>
</html>

 

 

page-common.js

 

Pagination=function(option)

 this.totalNum=option.totalNum==undefined?0:option.totalNum;
    this.maxNum=option.maxNum==undefined?10:option.maxNum;
 this._οnclick=option._οnclick==undefined?function(){}:option._onclick;
 this.breakpage = option.breakpage==undefined?5:option.breakpage;
 this.currentposition =option.currentposition==undefined?0:option.currentposition;
 this.breakspace = option.currentposition==undefined?2:option.currentposition;
 this.maxspace = option.maxspace==undefined?4:option.maxspace;
 this.currentpage=option.currentpage==undefined?1:option.currentpage;
 this.perpage=option.perpage==undefined?10:option.perpage;
 this.id =option.id;
 this.className=option.classCss==undefined?"manu":option.classCss;

 this.initPage = function(pageName)
 {
   var count = this.totalNum;
    this.perpage = this.maxNum; 
   if (this.currentpage==null){
    this.currentpage = 1;
   }else{
    this.currentpage = parseInt(this.currentpage);
   }
   var pagecount = Math.floor(count/this.perpage)+1;
   
   var pagestr = "";
   var prevnum = this.currentpage-this.currentposition;
   var nextnum = this.currentpage+this.currentposition;  
   if(prevnum<1) prevnum = 1;
   if(nextnum>pagecount) nextnum = pagecount;
   pagestr += (this.currentpage==1)?'<span class="disabled"> <上一頁</span>':'<span><a  href="javascript:'+pageName+'.page_onclick('+(this.currentpage-1)+',/''+pageName+'/')"><上一頁</a></span>';
   if(prevnum-this.breakspace>this.maxspace){
    for(i=1;i<=this.breakspace;i++)
    pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
    pagestr += '...';
    for(i=pagecount-this.breakpage+1;i<prevnum;i++)
     pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
   }else{
    for(i=1;i<prevnum;i++)
    pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
   }
   for(i=prevnum;i<=nextnum;i++){
    pagestr += (this.currentpage==i)?'<span class="current">'+i+'</span>':'<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
   }
   if(pagecount-this.breakspace-nextnum+1>this.maxspace){
    for(i=nextnum+1;i<=this.breakpage;i++)
     pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
    pagestr += '<span class="break">...</span>';
    for(i=pagecount-this.breakspace+1;i<=pagecount;i++)
     pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
   }else{
    for(i=nextnum+1;i<=pagecount;i++)
      pagestr += '<a href="javascript:'+pageName+'.page_onclick('+i+',/''+pageName+'/')">'+i+'</a>';
   }
   pagestr += (this.currentpage==pagecount)?'<span class="disabled">下一頁  ></span>':'<a href="javascript:'+pageName+'.page_onclick('+(this.currentpage+1)+',/''+pageName+'/')">下一頁  ></a>';
  
   document.getElementById(this.id).className=this.className;
  document.getElementById(this.id).innerHTML=pagestr;
 
 }
 this.page_οnclick=function(num,pageStr)
 {
   this.currentpage=num;
   this._onclick(this.currentpage,this.maxNum);
   this.initPage(pageStr);
 };
}

pagination.css

 

/* CSS Document */
 /* Paginator */
a img {blr:expression(this.onFocus=this.blur())}
area {blr:expression(this.onFocus=this.blur())}
  
.manu {
 PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 3px; PADDING-TOP: 3px; TEXT-ALIGN: center; FONT-SIZE: 12px;FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
}
.manu A {
 BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #eee 1px solid; COLOR: #036cb4; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid; TEXT-DECORATION: none
}
.manu A:hover {
 BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; BORDER-LEFT: #999 1px solid; COLOR: #666; BORDER-BOTTOM: #999 1px solid
}
.manu A:active {
 BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; BORDER-LEFT: #999 1px solid; COLOR: #666; BORDER-BOTTOM: #999 1px solid
}
.manu .current {
 BORDER-RIGHT: #036cb4 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #036cb4 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #036cb4 1px solid; COLOR: #fff; PADDING-TOP: 2px; BORDER-BOTTOM: #036cb4 1px solid; BACKGROUND-COLOR: #036cb4
}
.manu .disabled {
 BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; BORDER-LEFT: #eee 1px solid; COLOR: #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid
}

發佈了32 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章