js如何实现分页功能

实现JS分页可以通过以下步骤:
1. 获取数据:从服务器或本地获取数据,并将数据存储在一个数组或对象中。

let shu = [{
		number: 1,
		name: "秦全",
		price: 100,
		deng: "二档二级",
		xue: "初中",
		zhuang: "离职",
		tme: "2000"
	},
	{
		name: "秦泉",
		number: 2,
		price: 200,
		deng: "二档一级",
		xue: "初中",
		zhuang: "在职",
		tme: "2000"
	},
	{
		number: 3,
		name: "秦犬",
		price: 300,
		deng: "二档二级",
		xue: "高中",
		zhuang: "在职",
		tme: "2001"
	},
	{
		name: "秦朝",
		number: 4,
		price: 1900,
		deng: "二档一级",
		xue: "大学",
		zhuang: "在职",
		tme: "1999"
	},
	{
		name: "秦小超",
		number: 5,
		price: 1200,
		deng: "二档一级",
		xue: "高中",
		zhuang: "在职",
		tme: "2000"
	},
	{
		name: "秦秦",
		number: 6,
		price: 2800,
		deng: "二档一级",
		xue: "大专",
		zhuang: "在职",
		tme: "2002"
	},
	{
		name: "秦超菜",
		number: 7,
		price: 1.01,
		deng: "二档二级",
		xue: "初中",
		zhuang: "在职",
		tme: "2001"
	},
	{
		name: "秦沟去",
		number: 8,
		price: 200,
		deng: "二档二级",
		xue: "高中",
		zhuang: "在职",
		tme: "2000"
	},
	{
		name: "秦随篇",
		number: 9,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦变",
		number: 10,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦够",
		number: 11,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦希",
		number: 12,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	}, {
		name: "秦西",
		number: 13,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦篇",
		number: 14,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦随",
		number: 15,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	},
	{
		name: "秦随",
		number: 15,
		price: 1000,
		deng: "二档二级",
		xue: "大学",
		zhuang: "离职",
		tme: "2001"
	}

]


2. 设置每页显示的数量和当前页码:确定每页要显示的数据数量,以及当前页码。

let num = 0;
let page = 5;
let connt = Math.ceil(shu.length / page);


3. 计算总页数:根据数据的总数和每页显示的数量,计算出总页数。

​

	let connt = Math.ceil(shu.length / page);
	

​


4. 显示当前页的数据:根据当前页码和每页显示的数量,从数据数组或对象中提取对应页码的数据。

function renders() {
	let ran = `<span id="iuo"" onclick="hg()" ><</span>`;
	let connt = Math.ceil(shu.length / page);
	for (let i = 0; i < connt; i++) {
		ran += `
		<span class="pu" onclick="qo(${i})"  style="background-color:${num == i ?'pink':'#EEEEEE'}">${i+1}</span>
		
		`;
	}
	ran += `<span id="iuo""  onclick="wq()" >></span>
	
	`;
	document.getElementsByClassName("xuan")[0].innerHTML = ran
	tcf()
}

5. 生成分页按钮:根据总页数,生成相应数量的分页按钮,并为每个按钮绑定点击事件。

rt.onchange = function() {
	let sel = document.getElementById("rt")
	let index = sel.selectedIndex;
	let uim = sel.options[index].value;
	console.log(uim);
	page = uim
	num = 0
	render()
}


6. 点击分页按钮更新数据:当用户点击分页按钮时,根据按钮对应的页码更新当前页码,并重新显示当前页的数据。

let qin = document.getElementById('qin');
qin.addEventListener('keyup', function() {
	let connt = Math.ceil(shu.length / page)
	let t = qin.value;
	if (t != '' && t <= connt && t % 1 == 0) {
		qin.onkeypress = function(event) {
			if (event.which === 13) {
				//点击回车要执行的事件
				num = t - 1;
				console.log(num);
				render()

			}
		}
	} else if (t > connt) {
		alert("已经没有更多的页数了")
	} else if (t != 0) {
		alert("不能小于0")
	}
})

以上就是实现分页的办法了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值