原生js前端实现分页功能

原生js前端实现分页功能

html

<p>一共多少页<span class="Yeshu"></span></p>
<div class="boxs"></div>
<button class="btnPush">上一页</buttton>
<button class="btnPop">下一页</button>

js部分

let index = 0;
//data数据 sum每页多少行
function boxJson(data,sum){
	let baseArray = data;
	let len = baseArray.length;
	let n = sum; //每行显示对少个个
	let lineNum = len % sum === 0 ? len / sum : Math.floor( (len / sum) + 1 );
	let res = [];
	for (let i = 0; i < lineNum; i++) {
	// slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。且原始数组不会被修改。
	let temp = baseArray.slice(i*n, i*n+n);
	res.push(temp);
	}
	return res;
}
data(index)
function data(sum){
	let arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
	let data = boxJson(arr,7)[sum]; // [sum]默认展示第一行
	document.getElementsByClassName("Yeshu")[0].innerHTML = boxJson(arr,7).length;
	let str = '';
	for (var i = 0; i < data.length; i++) {
		str+=`<p>${data[i]}</p>`
	}
	document.getElementsByClassName("boxs")[0].innerHTML = str;
	return boxJson(arr,7);
}

document.getElementsByClassName("btnPush")[0].onclick = function(){
	let dataLength = data(index).length;
	if (index == 0) {
		alert("这是第一页")
	}else{
		index--;
	}
	data(index)
}
document.getElementsByClassName("btnPop")[0].onclick = function(){
	let dataLength = data(index).length;
	if (index == dataLength) {
		alert("这是最后一页")
	}else{
		index++;
	}
	data(index)
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值