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>