当前位置:首页 > JavaScript

js 分页实现

2026-03-14 15:15:38JavaScript

分页实现方法

分页功能在前端开发中非常常见,可以通过多种方式实现。以下是几种常见的分页实现方法:

前端分页实现

使用数组的slice方法可以实现简单的前端分页:

js 分页实现

const paginate = (array, pageNumber, pageSize) => {
  return array.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
};

后端API分页实现

与后端配合实现分页通常需要传递分页参数:

const fetchPaginatedData = async (page, size) => {
  const response = await fetch(`/api/data?page=${page}&size=${size}`);
  return response.json();
};

分页组件实现

创建一个可复用的分页组件:

js 分页实现

function Pagination({ currentPage, totalPages, onPageChange }) {
  return (
    <div className="pagination">
      <button 
        disabled={currentPage === 1}
        onClick={() => onPageChange(currentPage - 1)}
      >
        上一页
      </button>

      {Array.from({ length: totalPages }, (_, i) => i + 1).map(page => (
        <button
          key={page}
          className={currentPage === page ? 'active' : ''}
          onClick={() => onPageChange(page)}
        >
          {page}
        </button>
      ))}

      <button
        disabled={currentPage === totalPages}
        onClick={() => onPageChange(currentPage + 1)}
      >
        下一页
      </button>
    </div>
  );
}

分页逻辑处理

处理分页数据时的常见逻辑:

const [currentPage, setCurrentPage] = useState(1);
const pageSize = 10;

const handlePageChange = (page) => {
  setCurrentPage(page);
  // 可以在这里触发数据获取或过滤逻辑
};

const paginatedData = data.slice(
  (currentPage - 1) * pageSize,
  currentPage * pageSize
);

分页样式处理

基本的分页样式示例:

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.pagination button {
  margin: 0 5px;
  padding: 5px 10px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
}

.pagination button.active {
  background: #007bff;
  color: white;
  border-color: #007bff;
}

.pagination button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

分页最佳实践

  • 对于大数据集,建议使用后端分页而非前端分页
  • 添加页面跳转输入框提升用户体验
  • 显示总页数和当前页码信息
  • 考虑实现每页显示数量可配置功能
  • 移动端适配时可能需要调整分页控件的显示方式

标签: 分页js
分享给朋友:

相关文章

分页用vue实现

分页用vue实现

分页用 Vue 实现 在 Vue 中实现分页功能通常需要结合数据管理和 UI 组件。以下是几种常见的方法: 使用 Vue 组件库的分页组件 许多 Vue UI 组件库(如 Element UI、Va…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…