当前位置:首页 > JavaScript

js前端实现分页

2026-03-01 08:24:09JavaScript

前端分页实现方法

分页是前端开发中常见的需求,以下介绍几种实现方式:

基于数组的分页

对于已经加载到前端的数据,可以通过数组切片实现分页:

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

const data = [1,2,3,4,5,6,7,8,9,10];
const currentPage = 2;
const itemsPerPage = 3;
const paginatedData = paginate(data, currentPage, itemsPerPage);

结合API的分页

当数据量较大时,通常需要后端配合实现分页:

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

// 使用示例
fetchPaginatedData(1, 10).then(data => {
  console.log(data);
});

分页组件实现

一个简单的分页UI组件可以这样实现:

class Pagination {
  constructor(totalItems, itemsPerPage, currentPage = 1) {
    this.totalItems = totalItems;
    this.itemsPerPage = itemsPerPage;
    this.currentPage = currentPage;
    this.totalPages = Math.ceil(totalItems / itemsPerPage);
  }

  getPages() {
    let startPage, endPage;
    if (this.totalPages <= 10) {
      startPage = 1;
      endPage = this.totalPages;
    } else {
      if (this.currentPage <= 6) {
        startPage = 1;
        endPage = 10;
      } else if (this.currentPage + 4 >= this.totalPages) {
        startPage = this.totalPages - 9;
        endPage = this.totalPages;
      } else {
        startPage = this.currentPage - 5;
        endPage = this.currentPage + 4;
      }
    }
    return Array.from({length: endPage - startPage + 1}, (_, i) => startPage + i);
  }
}

使用现有库

流行的前端库如React、Vue等都有成熟的分页组件:

  • React: react-paginate
  • Vue: vue-paginate
  • jQuery: DataTables

性能优化考虑

对于大数据量分页:

  • 实现虚拟滚动代替传统分页
  • 使用懒加载技术
  • 考虑无限滚动模式

分页实现应根据具体项目需求选择合适方案,小型数据集可使用纯前端分页,大型数据集建议采用前后端协作方式。

js前端实现分页

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

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

php分页功能的实现

php分页功能的实现

分页功能的基本原理 分页功能的核心是通过SQL的LIMIT子句实现数据分段查询。LIMIT接受两个参数:起始位置偏移量和每页记录数。例如查询第2页(每页10条)的SQL语句为: SELECT *…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…