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; }
本文地址:http://www.idmiss.com/?p=202