微信公众号

扫码关注官方订阅号

讲师中心
首页
文章
后端开发 web前端 数据库 开发工具 php框架 常见问题 科技 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 自媒体 新闻
专题
后端开发 web前端 数据库 开发工具 php框架 科技 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程 新闻
AI工具
AI 聊天问答 Agent智能体 AI 文本写作 AI 绘画作图 AI 设计工具 AI 视频创作 AI 音频制作 AI 办公学习 AI 编程开发 Prompt指令
学习
大前端 后端开发 数据库 移动端 运维开发 计算机基础
编程手册
大前端 后端开发 数据库 移动端 运维开发 计算机基础
下载
js特效 网站源码 工具下载 类库下载 网站素材 学习资源 插件扩展 手机/移动开发 手机游戏
搜索
登录/注册
后端开发 web前端 数据库 开发工具 php框架 常见问题 科技 Java 系统教程 电脑教程 硬件教程 手机教程 软件教程 游戏教程
自媒体 新闻
首页 > web前端 > js教程 > 正文

如何使用jquery的分页插件

php中世界最好的语言
发布: 2018-03-14 15:12:41
原创
3046人浏览过

这次给大家带来如何使用jquery的分页插件,如何使用jquery的分页插件的注意事项有哪些,下面就是实战案例,一起来看一下。

jqpaginator简洁、高度自定义的jquery分页组件,适用于多种应用场景。

简介

现在网上各种各样的分页组件很多,但是很难找到十分”称心如意”的,于是jqPaginator诞生了。

SpeakingPass-打造你的专属雅思口语语料
SpeakingPass-打造你的专属雅思口语语料

使用chatGPT帮你快速备考雅思口语,提升分数

SpeakingPass-打造你的专属雅思口语语料 25
查看详情 SpeakingPass-打造你的专属雅思口语语料

我心中理想的分页组件,要不受CSS框架限制,可以使用在各种不同风格中的网页中。以我浅显的经验来看,要达到这个目标,关键的一点就是高度自定义的Html结构。所以jqPaginator努力做到合理范围内的自定义,使其灵活的使用了各种不同的场景。

效果截图:

013027_u0hW_1456287

使用说明

例子

用法很简单,首先引入jQuery和jqPaginator,之后就可以初始化分页了

$('#id').jqPaginator({
    totalPages: 100,
    visiblePages: 10,
    currentPage: 1,

    first: '<li class="first"><a href="javascript:void(0);">First</a></li>',
    prev: '<li class="prev"><a href="javascript:void(0);">Previous</a></li>',
    next: '<li class="next"><a href="javascript:void(0);">Next</a></li>',
    last: '<li class="last"><a href="javascript:void(0);">Last</a></li>',
    page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
    onPageChange: function (num) {
        $('#text').html('当前第' + num + '页');
    }});
登录后复制

上例就是第一Demo,Bootstrap风格的分页。具体参数稍后介绍,这里要了解的是,如果使用的不是id,而是class,就会初始化该class的所有元素,实现上面”两个分页联动”的效果。

参数

参数 默认值 说明
totalPages 0 设置分页的总页数
totalCounts 0 设置分页的总条目数
pageSize 0 设置每一页的条目数
注意:要么设置totalPages,要么设置totalCounts + pageSize,否则报错;设置了totalCounts和pageSize后,会自动计算出totalPages。
currentPage 1 设置当前的页码
visiblePages 7 设置最多显示的页码数(例如有100也,当前第1页,则显示1 - 7页)
disableClass ‘disabled’ 设置首页,上一页,下一页,末页的”禁用状态”样式
activeClass ‘active’ 设置当前页码样式
first (无) 设置”首页”的Html结构
prev (无) 设置”上一页”的Html结构
next (无) 设置”下一页”的Html结构
last (无) 设置”末页”的Html结构
page (无) 设置页码的Html结构,其中可以使用{{page}}代表当前页,{{totalPages}}代表总页数,{{totalCounts}}代表总条目数(例如:上面的”极简风格”的Demo,就是使用了{{占位符}},并将visiblePages设为1实现的。)
wrapper (无) 分页结构的Html包裹,例如:<p class=”your class”></p>,一般不会用到
onPageChange (无) 回调函数,当换页时触发(包括初始化第一页的时候),会传入”目标页”的页码

扩展方法

jqPaginator提供了两个扩展方法,方便初始化后对组件进行操作。

$('#id').jqPaginator('option', options)
登录后复制

初始化后,动态修改配置

$('#id').jqPaginator('option', {
    currentPage: 1});
登录后复制
$('#id').jqPaginator('destroy')
登录后复制

销毁jqPaginator

$('#id').jqPaginator('destroy');
登录后复制

相关资料

  • 源码下载:https://github.com/keenwon/jqPaginator

  • 官方地址:http://jqpaginator.keenwon.com/

        </p>
登录后复制

推荐解决方案(结合后台):
首页通过一个具体后台查询跳转过来,带上总页数等数据,方便初始化分页导航条,并在table中显示第一页数据。
后续点击每一页按钮都发出ajax请求,并将该页数据作为json返回,填充到table中,这样做的好处是,不用每一次都查询总条数,只需要查询当前页面数据即可,速度快,减少数据库负担。具体代码如下,仅供参考:

<script type="text/javascript">$(function(){
    $('#page').jqPaginator({        //totalPages: 100,
        pageSize:2,//每一页多少条记录
        totalCounts:${totalCount},
        visiblePages: 10,
        currentPage: 1,

        first: '<li class="first"><a href="javascript:void(0);">First</a></li>',
        prev: '<li class="prev"><a href="javascript:void(0);">Previous</a></li>',
        next: '<li class="next"><a href="javascript:void(0);">Next</a></li>',
        last: '<li class="last"><a href="javascript:void(0);">Last</a></li>',
        page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
        onPageChange: function (num) {
           // alert('当前第' + num + '页');
            //此处可以ajax加载下一页数据
            $.get('ajaxpage',{num:num},function(data){
                $("#tab").html('<tr><th>书籍Id</th><th>书名</th><th>价格</th><th>操作</th></tr>');                for(var i=0;i<data.length;i++){

                    $("#tab").append('<tr><td>'+data[i].id+'</td><Td>'+data[i].bookName+'</Td><td>'+data[i].bookPrice+'</td>'+                     '<td><a href="/test_maven/updateBook?id=${book.id }">修改</a> <a href="#">删除</a></td> </tr>');
                }
                },'json')
        }
    });
})</script><title>Insert title here</title></head><body><h1>所有书籍</h1><table id="tab">
 <tr><th>书籍Id</th><th>书名</th><th>价格</th><th>操作</th></tr>
 <c:forEach items="${books }" var="book">

 <tr><td>${book.id }</td><Td>${book.bookName }</Td><td>${book.bookPrice }</td>
 <td><a href="/test_maven/updateBook?id=${book.id }">修改</a> <a href="#">删除</a></td>
 </tr>

 </c:forEach></table>
登录后复制

               



本文将为大家介绍一款非常赞的jQuery分页插件:jqPaginator。

jqpaginator简洁、高度自定义的jquery分页组件,适用于多种应用场景。

简介

现在网上各种各样的分页组件很多,但是很难找到十分”称心如意”的,于是jqPaginator诞生了。

我心中理想的分页组件,要不受CSS框架限制,可以使用在各种不同风格中的网页中。以我浅显的经验来看,要达到这个目标,关键的一点就是高度自定义的Html结构。所以jqPaginator努力做到合理范围内的自定义,使其灵活的使用了各种不同的场景。

效果截图:

013027_u0hW_1456287

使用说明

例子

用法很简单,首先引入jQuery和jqPaginator,之后就可以初始化分页了

$('#id').jqPaginator({
    totalPages: 100,
    visiblePages: 10,
    currentPage: 1,

    first: '<li class="first"><a href="javascript:void(0);">First</a></li>',
    prev: '<li class="prev"><a href="javascript:void(0);">Previous</a></li>',
    next: '<li class="next"><a href="javascript:void(0);">Next</a></li>',
    last: '<li class="last"><a href="javascript:void(0);">Last</a></li>',
    page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
    onPageChange: function (num) {
        $('#text').html('当前第' + num + '页');
    }});
登录后复制

上例就是第一Demo,Bootstrap风格的分页。具体参数稍后介绍,这里要了解的是,如果使用的不是id,而是class,就会初始化该class的所有元素,实现上面”两个分页联动”的效果。

参数

参数 默认值 说明
totalPages 0 设置分页的总页数
totalCounts 0 设置分页的总条目数
pageSize 0 设置每一页的条目数
注意:要么设置totalPages,要么设置totalCounts + pageSize,否则报错;设置了totalCounts和pageSize后,会自动计算出totalPages。
currentPage 1 设置当前的页码
visiblePages 7 设置最多显示的页码数(例如有100也,当前第1页,则显示1 - 7页)
disableClass ‘disabled’ 设置首页,上一页,下一页,末页的”禁用状态”样式
activeClass ‘active’ 设置当前页码样式
first (无) 设置”首页”的Html结构
prev (无) 设置”上一页”的Html结构
next (无) 设置”下一页”的Html结构
last (无) 设置”末页”的Html结构
page (无) 设置页码的Html结构,其中可以使用{{page}}代表当前页,{{totalPages}}代表总页数,{{totalCounts}}代表总条目数(例如:上面的”极简风格”的Demo,就是使用了{{占位符}},并将visiblePages设为1实现的。)
wrapper (无) 分页结构的Html包裹,例如:<p class=”your class”></p>,一般不会用到
onPageChange (无) 回调函数,当换页时触发(包括初始化第一页的时候),会传入”目标页”的页码

扩展方法

jqPaginator提供了两个扩展方法,方便初始化后对组件进行操作。

$('#id').jqPaginator('option', options)
登录后复制

初始化后,动态修改配置

$('#id').jqPaginator('option', {
    currentPage: 1});
登录后复制
$('#id').jqPaginator('destroy')
登录后复制

销毁jqPaginator

$('#id').jqPaginator('destroy');
登录后复制

相关资料

  • 源码下载:https://github.com/keenwon/jqPaginator

  • 官方地址:http://jqpaginator.keenwon.com/

        </p>
登录后复制

推荐解决方案(结合后台):
首页通过一个具体后台查询跳转过来,带上总页数等数据,方便初始化分页导航条,并在table中显示第一页数据。
后续点击每一页按钮都发出ajax请求,并将该页数据作为json返回,填充到table中,这样做的好处是,不用每一次都查询总条数,只需要查询当前页面数据即可,速度快,减少数据库负担。具体代码如下,仅供参考:

<script type="text/javascript">$(function(){
    $('#page').jqPaginator({        //totalPages: 100,
        pageSize:2,//每一页多少条记录
        totalCounts:${totalCount},
        visiblePages: 10,
        currentPage: 1,

        first: '<li class="first"><a href="javascript:void(0);">First</a></li>',
        prev: '<li class="prev"><a href="javascript:void(0);">Previous</a></li>',
        next: '<li class="next"><a href="javascript:void(0);">Next</a></li>',
        last: '<li class="last"><a href="javascript:void(0);">Last</a></li>',
        page: '<li class="page"><a href="javascript:void(0);">{{page}}</a></li>',
        onPageChange: function (num) {
           // alert('当前第' + num + '页');
            //此处可以ajax加载下一页数据
            $.get('ajaxpage',{num:num},function(data){
                $("#tab").html('<tr><th>书籍Id</th><th>书名</th><th>价格</th><th>操作</th></tr>');                for(var i=0;i<data.length;i++){

                    $("#tab").append('<tr><td>'+data[i].id+'</td><Td>'+data[i].bookName+'</Td><td>'+data[i].bookPrice+'</td>'+                     '<td><a href="/test_maven/updateBook?id=${book.id }">修改</a> <a href="#">删除</a></td> </tr>');
                }
                },'json')
        }
    });
})</script><title>Insert title here</title></head><body><h1>所有书籍</h1><table id="tab">
 <tr><th>书籍Id</th><th>书名</th><th>价格</th><th>操作</th></tr>
 <c:forEach items="${books }" var="book">

 <tr><td>${book.id }</td><Td>${book.bookName }</Td><td>${book.bookPrice }</td>
 <td><a href="/test_maven/updateBook?id=${book.id }">修改</a> <a href="#">删除</a></td>
 </tr>

 </c:forEach></table>
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

怎样做出京东商品详情的放大镜效果

javascript如何实现小球跳动效果

以上就是如何使用jquery的分页插件的详细内容,更多请关注php中文网其它相关文章!

相关标签:
jquery

大家都在看:

jQuery中正确操作表单元素值:.val() 与 .text() 的区别与应用 解决jQuery动态加载SVG后Anime.js动画失效问题 解决Anime.js无法动画化jQuery动态加载SVG的问题 jquery中在元素之前添加元素的before() 方法 jQuery中过滤方法slice()方法如何使用?
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
收藏 点赞
上一篇:如何使用css3实现3d立体特效 下一篇:细说图片懒加载以及预加载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
  • vue.js路由失效如何处理
    2018-06-15 15:55:18
  • 怎样使用js解析数据库(附代码)
    2018-06-15 15:49:00
  • 怎样在项目中使用js绑定DOM事件
    2018-06-15 15:46:15
  • 怎样操作JS字符串与特殊字符
    2018-06-15 15:42:38
  • 如何在项目中使用jQuery内each方法
    2018-06-15 15:40:34
  • 如何利用jquery做出文件上传加载
    2018-06-15 15:39:32
  • 怎样对JS原型与原型链进行使用
    2018-06-15 15:37:14
  • Angular CLI+Angular 5实战项目演示
    2018-06-15 15:34:21
  • 使用jQuery替换节点元素(附代码)
    2018-06-15 15:22:51
  • Servlet3.0+JS进行Ajax交互
    2018-06-15 15:21:46
最新问题
JavaScript工厂模式与对象创建 工厂模式通过函数封装对象创建过程,如createUser返回含name、age和greet方法的对象;其优势包括简单性、封装性、可复用性及支持私有变量,例如createCounter利用闭包隐藏count变量;相比构造函数和类,工厂模式更灵活安全,适用于复杂初始化、需隐藏实现细节或避免使用new的场景。
2025-11-12 23:57:02
723
怎样开发一个实时聊天消息插件_JavaScript聊天功能插件开发与WebSocket应用 首先利用WebSocket实现前后端双向通信,通过JavaScript封装可复用模块,核心包括稳定连接管理、心跳机制与自动重连;接着封装消息收发逻辑,统一JSON数据格式并支持类型分发与ACK确认;最后设计灵活接口,提供配置化初始化、生命周期控制及钩子函数,屏蔽底层细节,便于快速集成。
2025-11-12 23:57:02
885
JavaScript虚拟DOM与diff算法 虚拟DOM通过JavaScript对象模拟真实DOM,结合diff算法高效比对新旧节点差异,仅将最小更新应用到真实DOM。利用同层比较、类型判断和key标识,避免全量渲染,提升性能。关键在“先算再改”,实现开发体验与运行效率的平衡。
2025-11-12 23:51:08
868
如何开发一个无限滚动插件_JavaScript无限滚动插件开发与优化教程 答案:开发无限滚动插件需封装可复用逻辑,监听滚动事件并节流优化,支持自定义容器与加载状态管理。1.使用类结构初始化参数与事件监听;2.通过节流控制scroll频率;3.统一处理window与元素滚动属性;4.添加isLoading、加载完成标识与loading提示;5.提供destroy方法解绑事件,防止内存泄漏。
2025-11-12 23:51:02
717
JavaScript 运算符:从算术运算到逻辑短路 JavaScript运算符是实现动态逻辑的核心工具。1.算术运算符(如+、-、、/、%、*、++、--)用于数学计算,但需注意浮点精度问题,例如0.1+0.2!==0.3;2.比较运算符(==、===、!=、!==、等)判断值关系,推荐使用===和!==以避免类型转换带来的错误;3.逻辑运算符(&&、||、!)支持短路求值,可简化条件判断,如name=user.name||‘匿名用户’和admin&&admin.doSomething();4.赋值运算符(+=、-=等)和三元运算符(?:)提升代
2025-11-12 23:47:03
293
js压缩图片的实现原理及实现过程 JS压缩图片的核心原理是利用Canvas重绘图像,通过缩小尺寸、降低质量、转换格式减小体积。1.原理:借助Canvas的drawImage和toBlob实现图像重绘与输出,结合分辨率调整和质量参数控制文件大小,并可将PNG转JPEG提升压缩率。2.步骤:先获取file对象,用FileReader加载为Image,再创建canvas按最大边缩放绘制,最后转为Blob或DataURL。3.细节:需判断图片类型避免无效压缩,注意EXIF方向信息丢失问题,手动处理旋转,及时释放临时对象内存,兼容低版本浏
2025-11-12 23:45:18
368
深入理解JavaScript事件循环机制_javascript核心 JavaScript事件循环先执行同步代码,再清空微任务队列,最后执行宏任务;例如,Promise.then(微任务)在setTimeout(宏任务)前执行,因每次宏任务执行后需清空所有微任务。
2025-11-12 23:44:02
991
JS Git版本怎么控制_JS Git版本控制与代码管理使用方法 掌握Git对JS项目至关重要,需先初始化仓库并提交代码,如gitinit、gitadd、gitcommit;接着创建feature分支开发功能,完成后合并至main分支;再通过gitremote添加远程仓库,使用gitpush和gitpull同步代码;遇到冲突需手动解决,开发中可用gitlog查看历史,gitcheckout或gitreset撤销修改,gitcommit--amend修正提交信息,必要时用gitreset回退版本,但慎用--hard避免丢失数据;关键在于勤提交、写清提交说明、合理
2025-11-12 23:43:02
800
js脚本如何制作页面滚动到顶部_js返回顶部按钮脚本编写教程 答案:通过创建固定按钮并监听滚动事件,使用window.scrollTo()实现平滑返回顶部功能。首先在HTML中添加按钮元素,用CSS将其定位在右下角并默认隐藏;当页面滚动超过200像素时,通过scroll事件显示按钮;点击按钮时调用window.scrollTo({top:0,behavior:‘smooth’})实现平滑滚动;为兼容老旧浏览器,可采用requestAnimationFrame结合递减滚动值模拟动画效果,最终实现轻量高效的返回顶部功能。
2025-11-12 23:41:11
295
js数组使用es6遍历方法 ES6引入了多种数组遍历方法,for...of可直接获取元素并支持中断,entries()结合for...of可同时获取索引和值,forEach配合箭头函数适合副作用操作但不可中断,map用于生成新数组,filter用于筛选数据,find和findIndex用于查找符合条件的元素或索引。
2025-11-12 23:37:02
608
相关专题
更多>
  • Golang Web开发入门与实践
  • Java 并发与多线程编程
  • Python 异常处理与调试技巧
  • python除法运算符
  • python 平方
  • python 怎么安装库
  • python中不等于怎么写
  • python输入根号教程
热门推荐
  • 如何处理jQuery冲突问题
  • jquery中使用after() 方法在元素之后添加元素
  • 动态内容中jQuery函数触发与事件委托教程
  • jQuery中使用map方法遍历数组
  • jQuery中正确操作Textarea值:理解.text()与.val()的区别
开源免费商场系统广告
热门教程
更多>
相关推荐
热门推荐
最新课程
  • jQuery 教程
    jQuery 教程
    19188次学习
    收藏
  • jQuery基础教程
    jQuery基础教程
    64825次学习
    收藏
  • JQuery 基础入门教程
    JQuery 基础入门教程
    235597次学习
    收藏
  • JavaScript ES5基础线上课程教学
    JavaScript ES5基础线上课程教学
    64937次学习
    收藏
  • 最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)
    最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)
    1484960次学习
    收藏
  • phpStudy极速入门视频教程
    phpStudy极速入门视频教程
    529754次学习
    收藏
  • 独孤九贱(4)_PHP视频教程
    独孤九贱(4)_PHP视频教程
    1249519次学习
    收藏
  • PHP实战天龙八部之仿爱奇艺电影网站
    PHP实战天龙八部之仿爱奇艺电影网站
    769630次学习
    收藏
  • 最新Python教程 从入门到精通
    最新Python教程 从入门到精通
    2726次学习
    收藏
  • JavaScript ES5基础线上课程教学
    JavaScript ES5基础线上课程教学
    64937次学习
    收藏
  • PHP新手语法线上课程教学
    PHP新手语法线上课程教学
    6428次学习
    收藏
  • 支付宝沙箱支付(个人也能用的支付)
    支付宝沙箱支付(个人也能用的支付)
    4508次学习
    收藏
  • 麻省理工大佬Python课程
    麻省理工大佬Python课程
    41271次学习
    收藏
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
  • [表单按钮] jQuery企业留言表单联系代码
  • [播放器特效] HTML5 MP3音乐盒播放特效
  • [菜单导航] HTML5炫酷粒子动画导航菜单特效
  • [表单按钮] jQuery可视化表单拖拽编辑代码
  • [播放器特效] VUE.JS仿酷狗音乐播放器代码
  • [html5特效] 经典html5推箱子小游戏
  • [图片特效] jQuery滚动添加或减少图片特效
  • [相册特效] CSS3个人相册封面悬停放大特效
  • [企业站源码] 成都咖啡网站管理系统1.6.9
  • [电商源码] TGroupon团购系统
  • [企业站源码] 中国新华企业网站管理源码 build 201009
  • [电商源码] 企业网站源码系统
  • [企业站源码] eTopEIMS0.1
  • [电商源码] OEmarry婚嫁电子商务系统免费版
  • [企业站源码] 魔众SCRM私域运营平台5.8.0
  • [电商源码] EDEN-MACE分销管理系统
  • [网站素材] 极简黑色线描城市街景矢量素材
  • [网站素材] 烘焙面包坊矢量风格烘焙插图
  • [网站素材] 创意中国地标设计矢量插画
  • [网站素材] 手绘绿色有机植物标签合集矢量
  • [网站素材] 极简国风国庆节展板矢量背景
  • [网站素材] 料理教学场景插画背景矢量素材
  • [网站素材] 手绘草莓华夫饼矢量素材
  • [网站素材] 扁平插画泳池边阅读矢量素材
  • [前端模板] 驾照考试驾校HTML5网站模板
  • [前端模板] 驾照培训服务机构宣传网站模板
  • [前端模板] HTML5房地产公司宣传网站模板
  • [前端模板] 新鲜有机肉类宣传网站模板
  • [前端模板] 响应式天气预报宣传网站模板
  • [前端模板] 房屋建筑维修公司网站CSS模板
  • [前端模板] 响应式志愿者服务网站模板
  • [前端模板] 创意T恤打印店网站HTML5模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号

微信扫码
关注PHP中文网服务号

技术交流群

QQ扫码
加入技术交流群

PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • PHP学习

  • 技术支持

  • 返回顶部