js实现分页控件中当前页的页标始终在中间

  分页控件在ajax请求中非常常见,页数较多时不可能一次将所有的页数显示出来,如共有20页数据,则分页控件一次固定只显示6页的页标,这需要每次点击页数后重新刷新这个页标数据,并且当前页的页标始终在中间,以下是自己写的方法(固定显示6个页标,当前页在第三个)。


注意:页码是从1而不是从0开始的。


function mathPages(index, totalpage) { //页码和一共有多少页
	var indexs = [];
	for(var i = 1; i <= totalpage; i++) {
		indexs.push(i);   //先根据总页数创建数组,将全部页标添加到数组中
	}
	if(totalpage<=6){
		return indexs;  //总页数<=6页时,直接输出即可
	}
	if(index<=2){                     
		indexs = indexs.slice(0,6);   //当前页<=2时,当前页的页标就不能显示在第三位了,直接截取0~6输出
		return indexs;
	}else{
		var indexs2 = indexs.slice(index-3,index+3);   
		//如果当前页标>2,则从当前页标-3开始截取总页标数组,截取6个
		if(indexs2.length>=6){  
			return indexs2;  //如果当前页不是倒数后3页,则截取没问题,直接输出
		}else{
			indexs2 = indexs.slice(-6);
			return indexs2;  //如果当前页是倒数后3页,就截取不到6个页标,那么直接最后截取6个页标即可
		}
	}
}

这个函数传入当前的页码和总页数,就会输出一个含有页标的数据,循环创建按钮即可。每次点击页标后执行此函数,传入新的当前页标,重新输出页标数组。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值