jQuery实现的分页功能示例

发布时间 - 2026-01-10 22:43:50    点击率:

本文实例讲述了jQuery实现的分页功能。分享给大家供大家参考,具体如下:

1、分页栏HTML码

<div class="g-cf g-pagerwp">
  <div style="visibility:hidden" class="g-pager">
  </div>
</div>

2、CSS样式文件

.g-cf:after {clear: both;content: "";display: table;}
.g-cf {zoom:1;}
/*分页*/
.g-pager{ text-align:center; color: #111111; font: 12px/1.5em Arial,Tahoma; float: right;}
.g-pager a,.g-pager input{ cursor:pointer; border:solid 1px #0F71BE; padding:1px 4px; color:#0F71BE; margin:0 2px; vertical-align:middle; }
.g-pager a.cur,.g-pager a:hover{ background-color:#0F71BE; color:#fff}
.g-pager a.no{ border-color:#A3A3A3; color:#A3A3A3; background-color:#E4F2F9}
.g-pager span{ margin-right:10px; }
.g-pager input{ cursor:default; width:28px; padding:1px 2px; }
.g-pagerwp{ height:23px; line-height:23px;padding:5px; margin-bottom:10px; border: 1px solid #DDDDDD;}
.g-pagerwp .g-btn{ vertical-align:top}

3、JS脚本文件

① 引用JQuery和分页脚本

<script src="/js/common/jquery-1.6.2.js" type="text/javascript"></script>
<script src="/js/jquery.PageBar.js" type="text/javascript"></script>

② 编写jquery.PageBar.js脚本

/**************************/
//JQuery分页栏
/**************************/
$.fn.pageBar = function(options) {
  var configs = {
    PageIndex: 1,
    PageSize: 15,
    TotalPage: 0,
    RecordCount: 0,
    showPageCount: 4,
    onPageClick: function(pageIndex) {
      return false;  //默认的翻页事件
    }
  }
  $.extend(configs, options);
  var tmp = "",
  i = 0,
  j = 0,
  a = 0,
  b = 0,
  totalpage = parseInt(configs.RecordCount / configs.PageSize);
  totalpage = configs.RecordCount % configs.PageSize > 0 ? totalpage + 1 : totalpage;
  tmp += "<span>总记录数:" + configs.RecordCount + "</span > ";
  tmp += " <span>页数:" + totalpage + "</span>";
  if (configs.PageIndex > 1) {
    tmp += "<a><</a>"
  } else {
    tmp += "<a class=\"no\"><</a>"
  }
  tmp += "<a>1</a>";
  if (totalpage > configs.showPageCount + 1) {
    if (configs.PageIndex <= configs.showPageCount) {
      i = 2;
      j = i + configs.showPageCount;
      a = 1;
    } else if (configs.PageIndex > totalpage - configs.showPageCount) {
      i = totalpage - configs.showPageCount;
      j = totalpage;
      b = 1;
    } else {
      var k = parseInt((configs.showPageCount - 1) / 2);
      i = configs.PageIndex - k;
      j = configs.PageIndex + k + 1;
      a = 1;
      b = 1;
      if ((configs.showPageCount - 1) % 2) {
        i -= 1
      }
    }
  }
  else {
    i = 2;
    j = totalpage;
  }
  if (b) {
    tmp += "..."
  }
  for (; i < j; i++) {
    tmp += "<a>" + i + "</a>"
  }
  if (a) {
    tmp += " ... "
  }
  if (totalpage > 1) {
    tmp += "<a>" + totalpage + "</a>"
  }
  if (configs.PageIndex < totalpage) {
    tmp += "<a>></a>"
  } else {
    tmp += "<a class=\"no\">></a>"
  }
  tmp += "<input type=\"text\" /><a>Go</a>"
  var pager = this.html(tmp)
  var index = pager.children('input')[0]
  pager.children('a').click(function() {
    var cls = $(this).attr('class');
    if (this.innerHTML == '<') {
      if (cls != 'no') {
        configs.onPageClick(configs.PageIndex - 2)
      }
    } else if (this.innerHTML == '>') {
      if (cls != 'no') {
        configs.onPageClick(configs.PageIndex)
      }
    } else if (this.innerHTML == 'Go') {
      if (!isNaN(index.value)) {
        var indexvalue = parseInt(index.value);
        indexvalue = indexvalue < 1 ? 1 : indexvalue
        indexvalue = indexvalue > totalpage ? totalpage : indexvalue
        configs.onPageClick(indexvalue - 1)
      }
    } else {
      if (cls != 'cur') {
        configs.onPageClick(parseInt(this.innerHTML) - 1)
      }
    }
  }).each(function() {
    if (configs.PageIndex == parseInt(this.innerHTML)) {
      $(this).addClass('cur')
    }
  })
}

③ 初始化使用

$(document).ready(function() {
  //设置分页信息
  var pageOptions = {
    AllowPaging: true,
    PageIndex: 1,    //设置当前页码
    PageSize: 15,    //设置分页大小
    RecordCount: 1092, //设置数据总数
    TotalPage: 73,   //设置总页数
    showPageCount: 4,
    onPageClick: function(pageIndex) {
    alert("您点击了第" + parseInt(pageIndex + 1) + "页");  //自定义您的翻页事件
      return false;
    }
  }
  //初始化分页栏
  $('.g-pagerwp .g-pager').css('visibility', 'visible').pageBar(pageOptions);
})

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。


# jQuery  # 分页  # jquery pagination分页插件使用详解(后台struts2)  # jquery pagination插件动态分页实例(Bootstrap分页)  # YII框架中搜索分页jQuery写法详解  # PHP+jquery+ajax实现分页  # jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)  # Laravel+jQuery实现AJAX分页效果  # jquery datatable服务端分页  # 深入理解jQuery layui分页控件的使用  # Ajax分页插件Pagination从前台jQuery到后端java总结  # jQuery实现的简单分页示例  # jQuery DataTables插件自定义Ajax分页实例解析  # 用jQuery中的ajax分页实现代码  # JQuery+Ajax无刷新分页的实例代码  # 翻页  # 您的  # 相关内容  # 感兴趣  # 给大家  # 自定义  # 更多关于  # 所述  # 程序设计  # 操作技巧  # 选择器  # 讲述了  # float  # Tahoma  # Arial  # input  # border  # pointer  # cursor 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 装修招标网站设计制作流程,装修招标流程?  javascript基本数据类型及类型检测常用方法小结  香港服务器租用费用高吗?如何避免常见误区?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  做企业网站制作流程,企业网站制作基本流程有哪些?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  企业网站制作这些问题要关注  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  java获取注册ip实例  lovemo网页版地址 lovemo官网手机登录  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  如何在万网利用已有域名快速建站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  javascript基于原型链的继承及call和apply函数用法分析  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何确保西部建站助手FTP传输的安全性?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  新三国志曹操传主线渭水交兵攻略  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel如何实现API速率限制?(Rate Limiting教程)  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何用AWS免费套餐快速搭建高效网站?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel如何实现数据库事务?(DB Facade示例)  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  如何确保FTP站点访问权限与数据传输安全?  详解Android图表 MPAndroidChart折线图  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  javascript中的try catch异常捕获机制用法分析  如何在IIS服务器上快速部署高效网站?  想要更高端的建设网站,这些原则一定要坚持!  如何续费美橙建站之星域名及服务?  活动邀请函制作网站有哪些,活动邀请函文案?  如何用狗爹虚拟主机快速搭建网站?  Laravel如何使用Collections进行数据处理?(实用方法示例)  个人摄影网站制作流程,摄影爱好者都去什么网站?  jquery插件bootstrapValidator表单验证详解  Linux安全能力提升路径_长期防护思维说明【指导】  如何有效防御Web建站篡改攻击?