日期:2014-05-16  浏览次数:20482 次

javascript文章列表分页的CODE

<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
/*这里填写自己需要的css定义*/
body { width: 760px; padding: 0 0 0 0; margin: 0 auto 0 auto; font-size: 12px; font-family: "Arial", "Helvetica", "sans-serif"; }
td { font-size: 12px; }
ul,li,form,div,span { padding: 0 0 0 0; margin: 0 0 0 0; }
.ctrlPages {COLOR: #f60;cursor:hand;}
.curPage {COLOR: #f00;cursor:hand;}
-->
</style>
<script language="JavaScript">
<!--
var ETNGpager = function( srcName, dstName, cntPP, cntPS )
{
this.srcName= srcName;
this.dstName= dstName;
this.curP= 1;//默认当前页为第一页
this.cntPP= cntPP || 2;//默认每页两条纪录
this.cntPS= cntPS || 3;//默认每页显示5个分页上下文
this.items= [];
this.showPNP= true;/*显示上下页链接*/
this.showType= true;/*滑动分页*/
this.result= {pagedata:[],pagebar:'',limit:[0,0],report:''};
this.parse();/*总纪录数*/
}
ETNGpager.prototype.page = function (){
this.cntP= Math.ceil(this.cntR/this.cntPP);/*总页数*/
this.cntS= Math.ceil(this.cntP/this.cntPS);/*总段数*/
this.curS= Math.ceil(this.curP/this.cntPS);/*当前段*/
this.preP= this.curP -1;/*上一页*/
this.nextP= this.curP +1;/*下一页*/
this.preS= this.curS -1;/*上一段*/
this.nextS= this.curS +1;/*下一段*/
this.startR= (this.curP -1)*this.cntPP + 1;/*起始纪录*/
this.endR= (this.curP*this.cntPP >this.cntR)?this.cntR:this.curP*this.cntPP;/*结束纪录*/
this.result['pagedata']=[];
if(this.showType){
this.perSide= Math.floor(this.cntPS/2);
this.startP= (this.curP > this.perSide)?(this.curP - this.perSide):1;
this.endP= (this.startP + this.cntPS)>this.cntP?this.cntP:(this.startP + this.cntPS);
}else{
this.startP= (this.curS-1)*this.cntPS+1;
this.endP= (this.curS*this.cntPS>this.cntP)?this.cntP:(this.curS*this.cntPS);
}
for(var i = this.startP;i<=this.endP;i++){
this.result['pagedata'].push((i==this.curP)?'<span class="curPage">'+i+'</span>':'<span onclick="page('+i+')">'+i+'</span>');
}
if(this.showPNP){
if(this.curP>1)this.result['pagedata'].unshift('<span onclick="page('+(this.curP-1)+')">上一页</span>');
if(this.curP<this.cntP)this.result['pagedata'].push('<span onclick="page('+(this.curP+1)+')">下一页</span>');
}
this.result['pagebar']= this.result['pagedata'].join(' ');
this.result['limit']= [this.startR,this.endR];
this.result['report']= '共'+this.cntR+'条,当前页'+this.startR+'-'+this.endR+','+this.curP+'/'+this.cntP+'页';
}
ETNGpager.prototype.parse = function (){
var obj = document.getElementById(this.srcName);
for(var i = 0;i<obj.childNodes.length;i++){
if(obj.childNodes[i].nodeType!=3)this.items[this.items.length]=obj.childNodes[i].innerHTML;
}
this.cntR = this.items.length;
return this.items.length;
}
ETNGpager.prototype.create=function(){
this.page();
document.getElementById(this.dstName).innerHTML='<li>'+this.items.slice(this.startR-1,this.endR).join('</li><li>')+'</li>';
document.getElementById(this.dstName).innerHTML+='<span class="ctrlPages">'+this.result['pagebar']+this.result['report']+'</span>';
}
//-->
</script>
</head>
<body>
<ul id="listcontent" style="display:none;">
<li><a href=http://tech.sina.com.cn/i/2005-12-08/1204786367.shtml target='_blank'>支付宝与六大代理签订协议 </a></li>
<li><a href=http://forum.taobao.com/showThread.htm?thread=3123988&forum=14 target='_blank'>刷卡积分可网上