请写一段分页器代码,使用js
时间: 2023-09-12 16:05:10 浏览: 64
### 回答1:
可以使用 JavaScript 实现分页器,以下是一段简单的示例代码://设置每页显示的记录数
const pageSize = 10;
//获取总记录数
const totalCount = 100;
//计算总页数
const totalPage = Math.ceil(totalCount / pageSize);
//当前页码
let currentPage = 1;//处理上一页
if (currentPage > 1) {
currentPage--;
}//处理下一页
if (currentPage < totalPage) {
currentPage++;
}
### 回答2:
要实现一个分页器的代码,可以使用JavaScript来完成。下面是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>分页器示例</title>
<style>
.pagination {
display: inline-block;
}
.pagination a {
color: black;
float: left;
padding: 8px 16px;
text-decoration: none;
transition: background-color .3s;
border: 1px solid #ddd;
}
.pagination a.active {
background-color: #4CAF50;
color: white;
border: 1px solid #4CAF50;
}
</style>
</head>
<body>
<div id="pagination" class="pagination"></div>
<script>
var totalPage = 10; // 总页数
var currentPage = 1; // 当前页码
var pagination = document.getElementById('pagination');
// 创建分页项
function createPageElement(pageNumber) {
var pageElement = document.createElement('a');
pageElement.href = '#';
pageElement.textContent = pageNumber;
// 当点击分页项时触发的事件
pageElement.addEventListener('click', function() {
currentPage = pageNumber;
generatePagination();
});
if(currentPage === pageNumber) {
pageElement.className = 'active';
}
return pageElement;
}
// 生成分页器
function generatePagination() {
pagination.innerHTML = '';
// 添加上一页按钮
var prevElement = createPageElement(currentPage - 1);
prevElement.textContent = "上一页";
// 当前页为第一页时,上一页按钮禁用
if(currentPage === 1) {
prevElement.className = 'disabled';
prevElement.removeAttribute('href');
}
pagination.appendChild(prevElement);
// 生成页码项
for(var i = 1; i <= totalPage; i++) {
var pageElement = createPageElement(i);
pagination.appendChild(pageElement);
}
// 添加下一页按钮
var nextElement = createPageElement(currentPage + 1);
nextElement.textContent = "下一页";
// 当前页为最后一页时,下一页按钮禁用
if(currentPage === totalPage) {
nextElement.className = 'disabled';
nextElement.removeAttribute('href');
}
pagination.appendChild(nextElement);
}
// 初始化
generatePagination();
</script>
</body>
</html>
```
在上面的代码中,我们使用了一个`pagination` ID的div元素来显示分页器。首先,我们定义了`totalPage`变量来表示总页数,`currentPage`变量来表示当前页码。然后,我们通过`getElementById`方法获取到了分页器的元素,并定义了一个绑定在分页项上的点击事件。接下来,我们使用`generatePagination`函数来生成分页器,并初始化它。最后,通过添加上一页按钮、页码项和下一页按钮来生成分页器的视图。
### 回答3:
以下是一个使用 JavaScript 实现的简单分页器代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Pagination Example</title>
<style>
.pagination {
display: flex;
justify-content: center;
}
.pagination button {
margin: 5px;
padding: 10px;
}
</style>
</head>
<body>
<div id="result"></div>
<div class="pagination"></div>
<script>
var currentPage = 1;
var recordsPerPage = 10;
var data = []; // 假设这是你的数据
// 设置总页数
var totalPages = Math.ceil(data.length / recordsPerPage);
// 渲染数据
function renderData() {
var startIndex = (currentPage - 1) * recordsPerPage;
var endIndex = startIndex + recordsPerPage;
var paginatedData = data.slice(startIndex, endIndex);
var resultElement = document.getElementById("result");
resultElement.innerHTML = ""; // 清空内容
for (var i = 0; i < paginatedData.length; i++) {
var itemElement = document.createElement("div");
itemElement.textContent = paginatedData[i];
resultElement.appendChild(itemElement);
}
}
// 渲染分页按钮
function renderPagination() {
var paginationElement = document.querySelector(".pagination");
paginationElement.innerHTML = ""; // 清空内容
for (var i = 1; i <= totalPages; i++) {
var buttonElement = document.createElement("button");
buttonElement.textContent = i;
if (i === currentPage) {
buttonElement.disabled = true;
}
buttonElement.addEventListener("click", function() {
currentPage = parseInt(this.textContent);
renderData();
renderPagination();
});
paginationElement.appendChild(buttonElement);
}
}
renderData();
renderPagination();
</script>
</body>
</html>
```
以上代码创建了一个简单的分页器,可以根据每页显示的记录数和总记录数来显示分页按钮,并且在点击每个按钮时切换到对应的页码并重新渲染数据。在实际使用中,你可以将 `data` 数组替换为你自己的数据源,并对样式进行适当的调整以满足你的需求。