在不使用任何插件的情况下为动态创建的HTML表添加适当的分页,可以通过以下步骤实现:
以下是一个示例代码:
<!DOCTYPE html>
<html>
<head>
<title>分页示例</title>
<style>
.pagination {
margin-top: 10px;
}
.pagination a {
display: inline-block;
padding: 5px 10px;
margin-right: 5px;
background-color: #f2f2f2;
text-decoration: none;
color: #333;
}
.pagination a.active {
background-color: #ccc;
}
</style>
</head>
<body>
<table id="data-table">
<!-- 动态生成的表格内容 -->
</table>
<div id="pagination" class="pagination">
<!-- 动态生成的分页链接 -->
</div>
<script>
// 假设有100条数据
var totalData = 100;
// 每页显示10条数据
var pageSize = 10;
// 计算总页数
var totalPages = Math.ceil(totalData / pageSize);
// 获取表格和分页导航的容器
var dataTable = document.getElementById('data-table');
var pagination = document.getElementById('pagination');
// 动态生成分页链接
for (var i = 1; i <= totalPages; i++) {
var link = document.createElement('a');
link.href = 'javascript:void(0)';
link.innerHTML = i;
link.addEventListener('click', handlePageClick);
pagination.appendChild(link);
}
// 默认显示第一页的数据
showData(1);
// 分页链接的点击事件处理函数
function handlePageClick(event) {
var page = parseInt(event.target.innerHTML);
showData(page);
}
// 根据页码显示相应的数据
function showData(page) {
// 计算起始索引和结束索引
var startIndex = (page - 1) * pageSize;
var endIndex = Math.min(startIndex + pageSize - 1, totalData - 1);
// 清空表格内容
dataTable.innerHTML = '';
// 根据索引从数据源中获取数据,并更新表格内容
for (var i = startIndex; i <= endIndex; i++) {
var row = document.createElement('tr');
// 创建表格行的单元格,并设置相应的数据
// ...
dataTable.appendChild(row);
}
// 更新分页链接的样式
var links = pagination.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].classList.remove('active');
}
links[page - 1].classList.add('active');
}
</script>
</body>
</html>
这个示例代码中,通过JavaScript动态生成了分页链接,并为每个链接绑定了点击事件。当用户点击某个链接时,会触发相应的事件处理函数handlePageClick
。在事件处理函数中,根据点击的页码计算出需要显示的数据的起始索引和结束索引,并更新表格内容。同时,还更新了分页链接的样式,以突出显示当前页。
领取专属 10元无门槛券
手把手带您无忧上云