基于jquery封装的一个js分页

下面是基于jQuery封装的一个JS分页的攻略,包含以下几个步骤:

1. 目录结构

一般来说,我们需要在项目中新建一个js文件夹,然后在这个文件夹下新建一个名为paging.js的文件。

2. HTML页面

在需要分页的页面中,我们需要设置一个DOM元素作为容器,用于渲染分页条。例如,我们可以在页面底部放置一个ID为“pagination”的DIV元素。然后我们需要引入jQuery文件和我们刚才创建的paging.js文件。

<!-- 引入jQuery -->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

<!-- 引入paging.js文件 -->
<script src="js/paging.js"></script>

<!-- 分页容器 -->
<div id="pagination"></div>

3. JS代码

在paging.js文件中,我们需要定义一个名为paging的函数,用于生成分页按钮。这个函数需要接受三个参数:

  • pageIndex:当前页码
  • pageSize:每页数据条数
  • total:总数据条数

函数内部的代码逻辑如下:

function paging(pageIndex, pageSize, total) {
  var pageCount = Math.ceil(total / pageSize); // 计算总页数
  var startPage = pageIndex > 3 ? pageIndex - 2 : 1; // 计算开始页码
  var strHtml = ""; // 分页按钮HTML

  // 上一页按钮
  if (pageIndex > 1) {
    strHtml +=
      '<a href="javascript:;" class="prev" data-index="' +
      (pageIndex - 1) +
      '">上一页</a>';
  }

  // 中间数字按钮
  for (var i = startPage; i <= pageCount && i <= startPage + 4; i++) {
    strHtml +=
      '<a href="javascript:;" class="' +
      (i == pageIndex ? "active" : "") +
      '" data-index="' +
      i +
      '">' +
      i +
      "</a>";
  }

  // 下一页按钮
  if (pageIndex < pageCount) {
    strHtml +=
      '<a href="javascript:;" class="next" data-index="' +
      (pageIndex + 1) +
      '">下一页</a>';
  }

  // 赋值给分页容器
  $("#pagination").html(strHtml);
}

4. 分页功能实现

在页面初始化的时候,我们需要调用paging函数,并传入当前页码、每页数据条数以及总数据条数。例如:

$(function() {
  // 假设当前为第一页,每页显示10条数据,总共100条数据
  paging(1, 10, 100);
});

用户每次点击分页按钮时,我们需要更新当前页码,并重新调用paging函数。例如:

// 分页按钮点击事件
$(document).on("click", "#pagination a", function() {
  var pageIndex = $(this).data("index"); // 获取页码

  // 更新当前页码,并重新调用paging函数
  paging(pageIndex, 10, 100);
});

5. 示例

下面是两个实际使用这个分页插件的示例:

示例1:后台管理系统

假设我们正在开发一个后台管理系统,需要对用户列表进行分页展示。我们可以使用以下方式调用paging函数:

$(function() {
  // 当前为第一页,每页显示10条数据,总共1000条数据
  paging(1, 10, 1000);
});

$(document).on("click", "#pagination a", function() {
  var pageIndex = $(this).data("index"); // 获取页码

  // 在这里发送ajax请求,获取对应页码的用户列表,并将其展示在页面上

  // 然后更新当前页码,并重新调用paging函数
  paging(pageIndex, 10, 1000);
});

示例2:商品列表页面

假设我们正在开发一个电商网站,需要对商品列表进行分页展示。我们可以使用以下方式调用paging函数:

$(function() {
  // 当前为第一页,每页显示20条商品,总共200条商品
  paging(1, 20, 200);
});

$(document).on("click", "#pagination a", function() {
  var pageIndex = $(this).data("index"); // 获取页码

  // 在这里发送ajax请求,获取对应页码的商品列表,并将其展示在页面上

  // 然后更新当前页码,并重新调用paging函数
  paging(pageIndex, 20, 200);
});

注意,这里的ajax请求需要根据后端具体实现进行编写,这里只是示例,并不具有真实性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于jquery封装的一个js分页 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • C语言 操作符#与##使用方法详解

    操作符与 ## 操作符是 C 语言预处理器中的两个重要操作符,其中 # 操作符用于将一个宏参数转换为对应的字符串,## 操作符则用于将两个宏参数合并成一个单独的标识符。下面将详细介绍它们的使用方法。 操作符的使用方法 以定义一个通用的结构体打印宏为例,该宏不仅可以输出结构体变量的值,还能输出该变量的类型。代码如下: #define print_struct(…

    other 2023年6月27日
    00
  • 魔兽世界7.3.5武器战怎么堆属性 wow7.35武器战配装属性优先级攻略

    魔兽世界7.3.5武器战怎么堆属性 基本属性 “命中”属性为首要属性,尽量以达到百分之百命中为目标; 一定程度上考虑“暴击”和“急速”; 根据自己的最大生命值,增加“全能”属性,提升自身的生存能力。 示例一: 前两个属性为命中和暴击,全能属性的增加加强了生存能力。 命中 > 暴击 > 急速 > 全能 头部:重盔 项链:鲜血项链之链 肩甲:穆…

    other 2023年6月27日
    00
  • win7系统计算机图标右键菜单管理打不开解决方法

    当用户在Windows 7系统中右键点击桌面或者计算机图标时,会弹出一个菜单选项,但是如果用户在这里遇到任何问题,比如点击打开管理选项却无反应,这时候说明计算机图标右键菜单管理打不开了。这个问题可能是由Windows注册表损坏或者丢失导致的。下面我们来详细讲解如何解决这个问题。 解决win7系统计算机图标右键菜单管理打不开的方法 方法一:在注册表中修改 第一…

    other 2023年6月27日
    00
  • 2022年最新Typora的破解方法

    2022年最新Typora的破解方法攻略 前言 Typora 是一款非常优秀的 Markdown 编辑器,可以满足大部分 Markdown 编写的需求。然而,它的商业授权价格较高,并不是所有人都能够负担得起。因此,很多用户会寻找 Typora 的破解方法。 需要注意的是,破解 Typora 非常不道德,我们应该支持正版软件,尊重软件开发者的劳动成果。本文仅供…

    other 2023年6月27日
    00
  • 动物园之星闪退怎么办 游戏崩溃闪退问题解决方法

    动物园之星闪退及崩溃解决方法攻略 动物园之星是一款家庭娱乐休闲游戏,但有些玩家反馈在游戏过程中遇到闪退及崩溃的问题。本文将详细介绍动物园之星闪退及崩溃的原因及解决方法,帮助玩家在游戏中获得更好的体验。 原因分析 动物园之星闪退及崩溃可能是由以下原因导致的: 网络不稳定或无网络环境,会导致游戏闪退; 手机存储空间不足,会导致游戏卡顿或闪退; 手机系统版本过低或…

    other 2023年6月27日
    00
  • springcloud入门

    SpringCloud入门 SpringCloud是一个基于SpringBoot 实现的一套微服务框架,它为开发者提供了快速构建分布式系统的工具,协助开发者更好的构建、连接、管理微服务。下面将介绍如何入门SpringCloud。 前置技能 在学习SpringCloud前,首先需要具备一定的Java开发能力,并熟悉SpringBoot框架。此外,了解和掌握微服…

    其他 2023年3月28日
    00
  • C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法

    C#使用ToUpper()与ToLower()方法将字符串进行大小写转换的方法 在C#中,我们可以使用ToUpper()和ToLower()方法来将字符串转换为大写或小写。这两个方法都是字符串类型的扩展方法,可以直接应用于字符串对象。 使用ToUpper()方法将字符串转换为大写 ToUpper()方法将字符串中的所有字符转换为大写形式,并返回转换后的新字符…

    other 2023年8月17日
    00
  • ajax data属性传值的方式总结

    Ajax数据属性传值的方式总结 在进行Web开发的过程中,使用 Ajax 可以实现网页间的异步交互。在绑定 Ajax 请求的处理函数时,通常需要将当前元素的某些属性或数据通过 Ajax 参数传递到后台处理。本文就介绍使用数据属性(data-*属性)这一常见方式进行 Ajax 数据传值。 什么是数据属性 数据属性是HTML5新增的全局属性之一,以 data- …

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部