HTML(HyperText Markup Language)和JavaScript分页是指在网页上显示数据时,将数据分成多个页面进行展示的技术。这种技术可以提升用户体验,减少页面加载时间,并使得大量数据的展示更加有序和易于管理。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>前端分页示例</title>
<style>
.pagination {
display: flex;
justify-content: center;
margin-top: 20px;
}
.pagination button {
margin: 0 5px;
}
</style>
</head>
<body>
<div id="content"></div>
<div class="pagination" id="pagination"></div>
<script>
const data = Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`);
const itemsPerPage = 10;
let currentPage = 1;
function displayData(page) {
const start = (page - 1) * itemsPerPage;
const end = start + itemsPerPage;
document.getElementById('content').innerHTML = data.slice(start, end).join('<br>');
}
function setupPagination() {
const totalPages = Math.ceil(data.length / itemsPerPage);
const pagination = document.getElementById('pagination');
for (let i = 1; i <= totalPages; i++) {
const button = document.createElement('button');
button.innerText = i;
button.addEventListener('click', () => {
currentPage = i;
displayData(currentPage);
});
pagination.appendChild(button);
}
}
displayData(currentPage);
setupPagination();
</script>
</body>
</html>
const express = require('express');
const app = express();
const port = 3000;
const data = Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`);
app.get('/items', (req, res) => {
const page = parseInt(req.query.page) || 1;
const itemsPerPage = 10;
const start = (page - 1) * itemsPerPage;
const end = start + itemsPerPage;
res.json(data.slice(start, end));
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
前端可以通过AJAX请求后端接口来获取分页数据。
通过以上方法,可以有效地实现和管理网页上的分页功能。
领取专属 10元无门槛券
手把手带您无忧上云