JS用于计算分页的算法
$(function(){
$('#pageHtml').html(pageHtml());
})
function pageHtml(){
var pageParam={};
pageParam.pageCur=${page.cur/};//当前页
pageParam.pageTotal=${page.total/};//总页
pageParam.pageSize = 5;//每页多少条分页
pageParam=getPageParam(pageParam);
var pageHtml='<li><a href="#">上一页</a></li>';
for(var i=pageParam.indexStart;i<=pageParam.indexEnd;i++){
if(pageParam.pageCur==i){
pageHtml=pageHtml+'<li><a href="#" style="background-color:#7c0;color:#fff">'+i+'</a></li>'
}else{
pageHtml=pageHtml+'<li><a href="#">'+i+'</a></li>'
}
}
pageHtml=pageHtml+'<li><a href="#">下一页</a></li>'+
return pageHtml;
}
function getPageParam(pageParam){
//当前页面小于1 则为1
pageParam.pageCur = pageParam.pageCur<1?1:pageParam.pageCur;
//当前页大于总页数 则为总页数
pageParam.pageCur = pageParam.pageCur > pageParam.pageTotal ? pageParam.pageTotal : pageParam.pageCur;
//页数小当前页 则为当前页
pageParam.pageTotal = pageParam.pageTotal < pageParam.pageCur ? pageParam.pageCur : pageParam.pageTotal;
//计算开始页
pageParam.indexStart = pageParam.pageCur - Math.floor(pageParam.pageSize/2);
pageParam.indexStart = pageParam.indexStart<1 ? 1 : pageParam.indexStart;
//计算结束页
pageParam.indexEnd = pageParam.pageCur + Math.floor(pageParam.pageSize/2);
pageParam.indexEnd = pageParam.indexEnd>pageParam.pageTotal? pageParam.pageTotal : pageParam.indexEnd;
//当前显示的页码个数不够最大页码数,在进行左右调整
pageParam.curPageNum = pageParam.indexEnd-pageParam.indexStart+1;
//左调整
if(pageParam.curPageNum<pageParam.pageSize && pageParam.indexStart>1){
pageParam.indexStart = pageParam.indexStart - (pageParam.pageSize-pageParam.curPageNum);
pageParam.indexStart = pageParam.indexStart<1 ? 1 : pageParam.indexStart;
pageParam.curPageNum = pageParam.indexEnd-pageParam.indexStart+1;
}
//右边调整
if(pageParam.curPageNum<pageParam.pageSize && pageParam.indexEnd<pageParam.pageTotal){
pageParam.indexEnd = pageParam.indexEnd + (pageParam.pageSize-pageParam.curPageNum);
pageParam.indexEnd = pageParam.indexEnd>pageParam.pageTotal? pageParam.pageTotal : pageParam.indexEnd;
}
//上一页
pageParam.pre=pageParam.pageCur>1?pageParam.pageCur-1:1;
//下一页
pageParam.pre=pageParam.pageCur<pageParam.indexEnd?pageParam.pageCur+1:pageParam.indexEnd;
return pageParam;
}
本文地址:https://www.idmiss.com/?p=202