帝国CMS首页、自定义页面怎么实现分页功能
2022-07-13
帝国cms首页以及自定义页面如何实现分页,添加如下js代码即可:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>www.freexyz.cn</title> <meta name="keywords" content="关键字" /> <meta name="description" content="简介" /> <script src="page.js"></script> </head> <body> <ul id="list" style="display:none;"> [e:loop={'selfinfo',10,0,0}] <li><a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" ></li> [/e:loop] </ul> <ul id="list2"></ul><script src="page2.js"></script> </body> </html>
page.js(JS文件)
<!-- 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)?'<a href="#topnew" class="curPage">'+i+'</a>':'<a href="#topnew" onclick="page('+i+')">'+i+'</a>'); } if(this.showPNP){ if(this.curP>1)this.result['pagedata'].unshift('<a href="#topnew" onclick="page('+(this.curP-1)+')">上一页</a>'); if(this.curP<this.cntP)this.result['pagedata'].push('<a href="#topnew" onclick="page('+(this.curP+1)+')">下一页</a>'); } this.result['pagebar'] = this.result['pagedata'].join(' '); this.result['limit'] = [this.startR,this.endR]; this.result['report'] ='<a class="allpage"><b>'+this.cntR+'</b></a> ' ; } 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+='<div class="pagelist mt20">'+this.result['report']+this.result['pagebar']+'</div>'; } //-->
page2.js(JS文件)
<!-- var pager = new ETNGpager('list', 'list2', 25, 5); //25为每页显示条数。10为导航显示菜单数 var curP = 1; page() function page(i) { curP = (curP > pager.cntP) ? 1 : curP; if (i) { curP = n = i; } else { n = curP++; } pager.curP = (n > pager.cntP) ? pager.cntP : n; pager.create(); } //-->
好了,快去试试吧!
声明:本文来自用户分享和网络收集,仅供学习与参考,测试请备份。