随着数据的不断增长,表格显示变得更加困难。大多数情况下,表格中的数据量过大,导致表格在加载时变得缓慢,而且用户需要不断地浏览页面才能找到自己想要的数据。本文将介绍如何使用JavaScript实现表格数据的分页显示,让用户更容易找到自己想要的数据。
一、动态创建表格
为了使分页功能更加可控,需要动态创建表格。在HTML页面中,添加一个类似于下面的table元素。
编号 | 姓名 | 年龄 | 性别 |
---|---|---|---|
1 | 小红 | 20 | 女 |
2 | 小明 | 22 | 男 |
3 | 小花 | 25 | 女 |
在JavaScript中,先定义一个包含所有表格数据的数组:
let tableData = [
{ id: 1, name: '小红', age: 20, gender: '女' },
{ id: 2, name: '小明', age: 22, gender: '男' },
{ id: 3, name: '小花', age: 25, gender: '女' },
// 更多数据
];
接下来,创建一个名为“createTable”的函数,这个函数将创建空的table元素并将其插入到HTML页面中。
// 创建表格
function createTable() {
let table = document.createElement('table'); // 创建table元素
table.id = 'table-page'; // 设置id
table.classList.add('table'); // 添加样式
let thead = document.createElement('thead');
let tr = document.createElement('tr');
let thNum = document.createElement('th');
thNum.innerHTML = '编号';
tr.appendChild(thNum);
let thName = document.createElement('th');
thName.innerHTML = '姓名';
tr.appendChild(thName);
let thAge = document.createElement('th');
thAge.innerHTML = '年龄';
tr.appendChild(thAge);
let thGender = document.createElement('th');
thGender.innerHTML = '性别';
tr.appendChild(thGender);
thead.appendChild(tr);
table.appendChild(thead);
let tbody = document.createElement('tbody');
table.appendChild(tbody);
document.body.appendChild(table);
}
现在,调用createTable函数来创建表格。
createTable();
二、添加分页
在JavaScript中,新建一个函数名为“pagination”,该函数将根据所需的每页数据量和当前页码来过滤表格数据,并将结果显示在表格中。
// 分页函数
function pagination(pageSize, pageNumber) {
let table = document.getElementById('table-page');
let tbody = table.querySelector('tbody');
let start = pageSize * (pageNumber - 1);
let end = start + pageSize;
let d = tableData.slice(start, end);
tbody.innerHTML = '';
for (let i = 0; i < d.length; i++) {
let tr = document.createElement('tr'); for (let key in d[i]) { let td = document.createElement('td'); td.innerHTML = d[i][key]; tr.appendChild(td); } tbody.appendChild(tr);
}
}
在这个函数中,首先获取table元素和tbody元素。然后,通过指定的每页数据量和当前页码来计算要显示的数据范围。然后,通过使用slice方法来获取当前页要显示的数据,并将其循环添加到表格的tbody元素中。
三、创建分页组件
接下来,创建一个名为“createPagination”的函数来生成分页组件。
// 创建分页按钮组件
function createPagination(pageSize) {
let totalPage = Math.ceil(tableData.length / pageSize);
let pagination = document.getElementById('pagination');
if (!pagination) {
pagination = document.createElement('div'); pagination.id = 'pagination'; document.body.appendChild(pagination);
}
pagination.innerHTML = '';
for (let i = 1; i <= totalPage; i++) {
let btn = document.createElement('button'); btn.innerHTML = i; btn.onclick = function() { pagination(pageSize, i) }; pagination.appendChild(btn);
}
}
本函数将计算所有的页数,并基于每页数量生成按钮组件。在循环中,每个按钮被创建并附加到“pagination”元素上。最后,将按钮的点击事件设置为调用分页函数“pagination()”。
四、应用到实际项目中
在实际项目中,可以将tableData数组替换为从服务器获取的数据,并根据需要调用创建表格和分页函数。
// 异步请求数据
let xhr = new XMLHttpRequest();
xhr.open('GET', '/getData');
xhr.onload = function() {
let data = JSON.parse(xhr.responseText);
tableData = data;
createTable();
pagination(pageSize, pageNumber);
createPagination(pageSize);
}
xhr.send();
在这个示例中,使用XMLHttpRequest对象异步获取数据。然后,将数据解析为JSON对象,并分别调用createTable,pagination和createPagination函数。
五、总结
通过上述步骤,我们成功地使用JavaScript实现了分页显示表格数据的基本功能。当数据量较大时,这种方法将大大提高表格的性能,同时也为用户提供更好的交互体验。毕竟,方便简单的用户体验才是软件的魅力所在。
以上是使用JavaScript实现表格数据的分页显示的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境