博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分页pagination实现及其应用
阅读量:5061 次
发布时间:2019-06-12

本文共 6401 字,大约阅读时间需要 21 分钟。

1、分页jquery.page.js

//分页插件/**2014-08-05 ch**/(function ($) {    var ms = {        init: function (obj, args) {            return (function () {                ms.fillHtml(obj, args);                ms.bindEvent(obj, args);            })();        },        //填充html        fillHtml: function (obj, args) {            return (function () {                obj.empty();                //上一页                if (args.current > 1) {                    obj.append('');                } else {                    obj.remove('.prevPage');                    obj.append('');                }                //中间页码                if (args.current != 1 && args.current >= 4 && args.pageCount != 4) {                    obj.append('' + 1 + '');                }                if (args.current - 2 > 2 && args.current <= args.pageCount && args.pageCount > 5) {                    obj.append('...');                }                var start = args.current - 2, end = args.current + 2;                if ((start > 1 && args.current < 4) || args.current == 1) {                    end++;                }                if (args.current > args.pageCount - 4 && args.current >= args.pageCount) {                    start--;                }                for (; start <= end; start++) {                    if (start <= args.pageCount && start >= 1) {                        if (start != args.current) {                            obj.append('' + start + '');                        } else {                            obj.append('' + start + '');                        }                    }                }                if (args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5) {                    obj.append('...');                }                if (args.current != args.pageCount && args.current < args.pageCount - 2 && args.pageCount != 4) {                    obj.append('' + args.pageCount + '');                }                //下一页                if (args.current < args.pageCount) {                    obj.append('');                } else {                    obj.remove('.nextPage');                    obj.append('');                }            })();        },        //绑定事件        bindEvent: function (obj, args) {            return (function () {                $(obj).find('.tcdNumber').off("click").on("click", function () {                    var current = parseInt($(this).text());                    ms.fillHtml(obj, { "current": current, "pageCount": args.pageCount });                    if (typeof (args.backFn) == "function") {                        args.backFn(current);                    }                });           // 不用这个是为了适应那种每次查询之后,分页条数变化的情况,而且这种情况很常见,           // 如果采用下面这种方式,会出现多次绑定,多次查询的情况。 //obj.on("click","a.tcdNumber",function(){
// var current = parseInt($(this).text()); // ms.fillHtml(obj, { "current": current, "pageCount": args.pageCount }); // if (typeof (args.backFn) == "function") {
// args.backFn(current); // } //}); $(obj).find('.prevPage').off('click').on("click", function () { var current = parseInt(obj.children("span.current").text()); ms.fillHtml(obj, { "current": current - 1, "pageCount": args.pageCount }); if (typeof (args.backFn) == "function") { args.backFn(current - 1); } }); //上一页 //obj.on("click","a.prevPage",function(){
// var current = parseInt(obj.children("span.current").text()); // ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount}); // if(typeof(args.backFn)=="function"){
// args.backFn(current-1); // } //}); $(obj).find('.nextPage').off('click').on("click", function () { var current = parseInt(obj.children("span.current").text()); ms.fillHtml(obj, { "current": current + 1, "pageCount": args.pageCount }); if (typeof (args.backFn) == "function") { args.backFn(current + 1); } }); //下一页 //obj.on("click","a.nextPage",function(){
// var current = parseInt(obj.children("span.current").text()); // ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount}); // if(typeof(args.backFn)=="function"){
// args.backFn(current+1); // } //}); })(); } } $.fn.createPage = function (options) { var args = $.extend({ pageCount: 10, current: 1, backFn: function () { } }, options); ms.init(this, args); }})(jQuery);//代码整理:懒人之家 www.lanrenzhijia.com

2、使用方法

2.1 js的应用

首先把jquery.page.js引入

第二js的关键代码

$(".tcdPageCode").createPage({  pageCount: 总页数,  current: 当前页,  backFn: function (p) {    //单击回调方法,p是当前页码    查询方法(p);  }});

2.2 样式代码

.tcdPageCode {
padding: 15px 20px; color: #ccc; display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px;} .tcdPageCode a {
display: inline-block; color: #0D0D0D; display: inline-block; height: 25px; line-height: 25px; padding: 6px 12px; border: 1px solid #ddd; vertical-align: middle; padding: 6px 12px; line-height: 1.42857143; text-decoration: none; } .tcdPageCode span.current {
display: inline-block; height: 25px; line-height: 25px; padding: 6px 12px; color: #0D0D0D; background-color: #CCCCCC; border: 1px solid #ddd; vertical-align: middle; line-height: 1.42857143; text-decoration: none; }.tcdPageCode-ellipsis {
display: inline-block; width: 24px; text-align: center;}.tcdPageCode span.disabled {
display: inline-block; height: 25px; line-height: 25px; padding: 6px 12px; color: #bfbfbf; background: #f2f2f2; border: 1px solid #bfbfbf; border-radius: 4px; vertical-align: middle;}

 

至于例子,不想写了...

 

转载于:https://www.cnblogs.com/tianxue/p/6169884.html

你可能感兴趣的文章
jq 杂
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
作业一
查看>>
AJAX
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
js数组操作大全
查看>>
js模拟输入支付密码
查看>>
【BZOJ】【3676】【APIO2014】回文串
查看>>
浅谈Java分页技术
查看>>
Java高级程序设计第三版:基本概念
查看>>
[UML]UML 教程 - 第二部分
查看>>
openoffice启动服务并将office文件转换为pdf文件
查看>>
Function
查看>>
Maven 与 IntelliJ IDEA 的完美结合
查看>>
数据结构与算法之PHP实现链表类(单链表/双链表/循环链表)
查看>>
NHibernate
查看>>
《微服务 架构与实践》王磊 摘要
查看>>
ext.net 开发学习——用户登录
查看>>
成长之路--Docker入门
查看>>