表格分页是一种常见的网页功能,用于将大量数据分成多个页面显示,以提高用户体验和页面加载速度。下面是一个简单的表格分页JavaScript代码示例,结合HTML和CSS来实现基本的分页功能。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Table Pagination</title>
<style>
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
}
th {
background-color: #f2f2f2;
}
.pagination {
margin-top: 10px;
text-align: center;
}
.pagination button {
margin: 0 5px;
}
</style>
</head>
<body>
<table id="dataTable">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<!-- Data will be inserted here -->
</tbody>
</table>
<div class="pagination">
<button onclick="prevPage()">Previous</button>
<span id="pageInfo"></span>
<button onclick="nextPage()">Next</button>
</div>
<script src="pagination.js"></script>
</body>
</html>
const data = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 30 },
{ id: 3, name: 'Charlie', age: 35 },
{ id: 4, name: 'David', age: 40 },
{ id: 5, name: 'Eve', age: 45 },
{ id: 6, name: 'Frank', age: 50 },
{ id: 7, name: 'Grace', age: 55 },
{ id: 8, name: 'Hank', age: 60 },
{ id: 9, name: 'Ivy', age: 65 },
{ id: 10, name: 'Jack', age: 70 }
];
const itemsPerPage = 3;
let currentPage = 1;
function displayData() {
const start = (currentPage - 1) * itemsPerPage;
const end = start + itemsPerPage;
const paginatedData = data.slice(start, end);
const tableBody = document.querySelector('#dataTable tbody');
tableBody.innerHTML = '';
paginatedData.forEach(item => {
const row = document.createElement('tr');
row.innerHTML = `
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.age}</td>
`;
tableBody.appendChild(row);
});
document.getElementById('pageInfo').textContent = `Page ${currentPage} of ${Math.ceil(data.length / itemsPerPage)}`;
}
function nextPage() {
if (currentPage < Math.ceil(data.length / itemsPerPage)) {
currentPage++;
displayData();
}
}
function prevPage() {
if (currentPage > 1) {
currentPage--;
displayData();
}
}
// Initial display
displayData();
nextPage
和prevPage
函数中的条件判断,确保页码在合理范围内。displayData
函数中的数据切片逻辑,确保正确计算起始和结束索引。通过以上代码和解释,你应该能够实现一个基本的表格分页功能,并理解其背后的原理和常见问题。
领取专属 10元无门槛券
手把手带您无忧上云