js实现动态分页,显示上一页、下一页和五页
时间: 2024-03-10 20:48:17 浏览: 27
动态分页可以使用 JavaScript 来实现,下面是一个简单的例子:
HTML:
```
<div id="pagination"></div>
```
JavaScript:
```
var currentPage = 1; // 当前页码
var totalPage = 20; // 总页数
function generatePagination() {
var pagination = document.getElementById("pagination");
var html = "";
// 上一页
if (currentPage > 1) {
html += "<a href='javascript:void(0)' onclick='goToPage(" + (currentPage - 1) + ")'>上一页</a>";
}
// 五页
var startPage = currentPage - 2;
var endPage = currentPage + 2;
if (startPage < 1) {
endPage += 1 - startPage;
startPage = 1;
}
if (endPage > totalPage) {
startPage -= endPage - totalPage;
endPage = totalPage;
}
for (var i = startPage; i <= endPage; i++) {
if (i == currentPage) {
html += "<span>" + i + "</span>";
} else {
html += "<a href='javascript:void(0)' onclick='goToPage(" + i + ")'>" + i + "</a>";
}
}
// 下一页
if (currentPage < totalPage) {
html += "<a href='javascript:void(0)' onclick='goToPage(" + (currentPage + 1) + ")'>下一页</a>";
}
pagination.innerHTML = html;
}
function goToPage(page) {
currentPage = page;
generatePagination();
}
generatePagination();
```
这个例子中,我们首先定义了当前页码 `currentPage` 和总页数 `totalPage`。然后,我们定义了一个 `generatePagination()` 函数,用来生成分页。在这个函数中,我们首先生成上一页按钮,如果当前页不是第一页的话。然后,我们计算出需要显示的五页的页码,用一个循环生成这些页码。最后,我们生成下一页按钮,如果当前页不是最后一页的话。当用户点击上一页、下一页或者某个页码时,我们会调用 `goToPage()` 函数,这个函数会更新当前页码,再重新生成分页。