当前位置:首页 > 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
分享给朋友:

相关文章

vue实现后台分页

vue实现后台分页

实现后台分页的方法 在Vue中实现后台分页通常需要结合前端和后端逻辑,后端负责处理数据分页,前端负责展示分页数据和交互。以下是具体实现方法: 后端API设计 后端需要提供支持分页的API接口,通常包…

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js 实现继承

js 实现继承

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

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

vue分页实现

vue分页实现

Vue 分页实现方法 基础分页组件实现 创建一个简单的分页组件,包含上一页、下一页和页码按钮。组件接收当前页码、总页数等参数,通过事件通知父组件页码变化。 <template> &l…