/**
*
* @param {Object} page 当前页
* @param {Object} size 每页记录数
* @param {Object} total 记录数
* @param {Object} maxNumButton 数字按钮数
* return 如:obj = {total:12,show:[1,2,3,4,5],prepage:1,current:2,next:3}
*
*/
function pageInfo(page,size,total,maxNumButton){
//page 当前页 items每页最多显示多少条数据服务端返回的数据
if(size == 0 || total <= 0 || page < 1){
return;
}
var allPage = Math.floor(total / size) ;//总页数
var mo = total % size;
if(mo){
allPage++;
}
var pageHelper = {}
pageHelper.total = total;
pageHelper.lastPage = allPage;//最后页
if(page >= allPage){
page = allPage;
}
var show = [];
function showPage(current,last,showMax){
pageHelper.current = current;
//上一页
if(current > 1 ){
pageHelper.prepage = current - 1;
}
//下一页
if(current != last){
pageHelper.next = current + 1;
}
//数字页码
if(last <= showMax){
for(var i = 1;i<=last;i++){
show.push(i);
}
}
else{
var avgNum = Math.floor(showMax / 2) + 1;//奇数中间值,偶数
//要显示的页码数 最大
if(current <= avgNum){
for(var i = 1;i<=showMax;i++){
show.push(i);
}
}
else{
if(last - current >= avgNum){
for(var i = current - Math.floor(showMax / 2);i<=current - Math.floor(showMax / 2 )+showMax-1;i++){
show.push(i);
}
}
else{
for(var i = current- (showMax- 1 - (last - current)); i <= last; i++){
show.push(i);
}
}
}
}
pageHelper.show = show;
}
showPage(page,allPage,maxNumButton);
console.log(pageHelper);
return pageHelper;
}
js模拟百度分页
最新推荐文章于 2024-07-01 11:34:43 发布