原生JavaScript实现表格分页与页码跳转功能
作者:像素漫游时间:2026-10-23 22:22:25浏览:235
本文介绍如何使用原生JavaScript实现HTML表格的分页显示与页码跳转功能。通过定义每页显示行数,利用DOM操作动态渲染数据,并实现上一页、下一页及指定页码跳转逻辑,帮助开发者快速掌握前端表格分页的核心实现方法。
原生JavaScript实现表格分页与页码跳转功能
本文分享了一段使用JavaScript实现表格分页及页码跳转的具体代码示例,供读者参考学习。

在JavaScript代码中,变量row_num用于控制每页显示的数据行数,修改该变量即可调整每页展示的数量。
以下是HTML结构代码:
<table border="" cellspacing="" cellpadding="" id="table">
<thead>
<tr>
<td>No</td>
<td>Name</td>
<td>Age</td>
</tr>
</thead>
<tbody></tbody>
<tfoot>
<tr>
<td colspan="3">
<input type="button" name="pre-btn" id="pre" value="<" />
<input type="text" name="page_num" id="page_num" value="" />
<span id="cur_page"></span>
<input type="button" name="jump" id="jump" value="跳转" />
<input type="button" name="next-btn" id="next" value=">" />
</td>
</tr>
</tfoot>
</table>
对应的JavaScript逻辑代码如下:
let datas = [
[1, 'a', 16],
[2, 'b', 20],
[3, 'c', 22],
[4, 'd', 44],
[5, 'e', 11],
[6, 'f', 12],
[7, 'g', 13]
];
let cur_page = 0;
let t = document.querySelector('tbody');
let page_num = document.querySelector('#page_num');
let row_num = 2;
(() => jump_to(cur_page))();
function pre() {
if (cur_page > 0) {
cur_page--;
jump_to(cur_page);
}
}
function next() {
if (cur_page < (datas.length / row_num) - 1) {
cur_page++;
jump_to(cur_page);
}
}
function jump_to(page) {
t.innerHTML = '';
for (let i = page * row_num; i < (page + 1) * row_num && i < datas.length; i++) {
let row = t.insertRow();
for (let item of datas[i]) {
row.insertCell().innerHTML = item;
}
}
page_num.value = page + 1;
}
document.querySelector('#cur_page').innerText = `/${Math.ceil(datas.length / row_num)}`;
document.querySelector('#pre').onclick = () => pre();
document.querySelector('#next').onclick = () => next();
document.querySelector('#jump').onclick = function() {
if (page_num.value < (datas.length / row_num) + 1 && page_num.value - 1 !== cur_page && page_num.value > 0 && Number.isInteger(parseInt(page_num.value))) {
cur_page = page_num.value - 1;
jump_to(cur_page);
}
};
以上即为本文的全部内容,希望这些代码能对各位的学习有所帮助,同时也欢迎大家继续支持本站。
作者最新文章
D3.js 处理大规模数据点的性能优化策略
2026-11-05 15:37:25
JS实现网页摄像头实时扫码:结合getUserMedia与jsQR教程
2026-11-05 15:27:28
D3.js v5 迁移到 v7 的 API 变更与注意事项
2026-11-05 11:57:17
使用 animate.js 实现多元素协同的序列动画
2026-11-04 22:27:53
JS拖拽排序时怎么添加平滑动画效果?FLIP技术实战
2026-11-04 10:12:22
