function renderpaging(url,curpage,totalpage){ var pagebarnum = 5; var pagestr = ''; var gurl = function(num){ return url.replace('-page-',num); }; curpage = parseint(curpage); totalpage = parseint(totalpage); if(curpage > 1){ pagestr += '<span class="grey-12"><< <a class="paging-per" href="' + gurl(curpage-1) + '">上一页</a> </span>'; } var index = math.floor(pagebarnum/2); var start = (curpage-index)>0 ? (curpage-index) : 1; var end = curpage + (pagebarnum-index); end = end<pagebarnum ? pagebarnum : end; if(start > 1){ pagestr += '<span class="grey-12"> <a class="paging-per" href="' + gurl(1) + '">1</a> </span>'; } if(start > 2){pagestr += '<span class="grey-12"> ... </span>';} for(var i=start; i<end; i++){ if(i>totalpage) break; if(i == curpage){ pagestr += '<span class="blue-12-bold"> <a class="paging-per paging-current" href="' + gurl(i) + '">' + i + '</a> </span>'; }else{ pagestr += '<span class="grey-12"> <a class="paging-per" href="' + gurl(i) + '">' + i + '</a> </span>'; } } if(end < totalpage){ pagestr += '<span class="grey-12"> ... </span>'; pagestr += '<span class="grey-12"> <a class="paging-per" href="' + gurl(totalpage) + '">' + totalpage + '</a> </span>'; } if(curpage < totalpage){ pagestr += '<span class="grey-12"> <a class="paging-per" href="' + gurl(curpage+1) + '">下一页</a> >></span>'; } return pagestr;}
后端只需要 传入 3个参数即可
$pager = array( 'pagecount' => ceil($counter / $numperpage), 'url' => 'url.php/page/-page-' 'page' => $cur_page, ); $this->_view['pager'] = $pager;
demo:
<p id="pagebar" page="<?php echo $pager['page'];?>" pagecount="<?php echo $pager['pagecount'];?>" url="<?php echo $pager['url'];?>"></p>