jQuery自定义分页插件

所属分类:导航-分页

 29250  245  查看评论 (23)
分享到微信朋友圈
X
jQuery自定义分页插件 ie兼容9

更新时间:2021-07-13 09:13:30

配置说明:

P.config = {
    elemId: '#page',
    pageIndex: '1',
    total: '0',
    pageNum: '7',
    pageSize: '10'
};
//elemId 分页容器,具体参照源码	
//pageIndex 当前页,一般不做配置,默认为1	
//total 总记录数,默认为0条,通过ajax获取到的总记录数更新值	
//pageNum 分页页码显示个数,默认7个	
//pageSize 列表显示记录数,默认10条2.使用方式	
P.initMathod({
    params: {
        elemId: '#Page',
        total: '123'
    },
    requestFunction: function() {
        // P.config.total = parseInt(Math.random() * 10 + 85
    );
    //此处模拟总记录变化	
    //TODO ajax异步请求过程,异步获取到的数据总条数赋值给 
    P.config.total $.ajax({
        url: 'demo/test', //后端服务请求地址	
        type: 'post',
        data: {}, //条件查询附带参数 
        dataType: 'json',
        async: false, //值为false,分页自动渲染;值为true,分页手动渲染
        success: function(res) {
            if ("0" == res.code) {
                //TODO 其他自己需要处理的业务逻辑,列表渲染自行处理	
                P.config.total = res.total; //res.total是后台返回的总记录数 
                //P.pageHtml();//重新渲染分页。使用时配合Ajax的属性async:false - 值为false,分页自动渲染;值为true,分页手动渲染	
                console.log(JSON.stringify(P.config)); //请忽略此行	
            } else {
                alert("暂无数据");
                //正式项目一般采用dialog弹框
            }
        },
        error: function() {
            alert("程序出现异常"); //正式项目一般采用dialog弹框
        }
    });
    //列表渲染自行处理
    console.log(JSON.stringify(P.config));
}
});

使用方法

1.配置说明:

P.config = {
    elemId: '#page',
    pageIndex: '1',
    total: '0',
    pageNum: '7',
    pageSize: '10'
};
//elemId 分页容器,具体参照源码
//pageIndex 当前页,一般不做配置,默认为1
//total 总记录数,默认为0条,通过ajax获取到的总记录数更新值
//pageNum 分页页码显示个数,默认7个
//pageSize 列表显示记录数,默认10条

2.使用方式

P.initMathod({
            params: {
                elemId: '#Page',
                total: '123'
            },
            requestFunction: function() {
                // P.config.total = parseInt(Math.random() * 10 + 85);//此处模拟总记录变化
                //TODO ajax异步请求过程,异步获取到的数据总条数赋值给 P.config.total
                //列表渲染自行处理
                console.log(JSON.stringify(P.config));
            });
相关插件-分页

jQuery分页插件(原创)

jQuery分页插件,支持ie8及以上,注意jquery 2.0版本及以上不支持ie8及以下了
  分页
 21225  222

jQuery仿淘宝分页插件(原创)

根据淘宝分页样式简洁美观功能全面兼容性好易用性好维护简单多个分页互不干扰的分页插件
  分页
 35016  351

简单的Vue分页插件pagination.js

分页插件,带省略的Vue分页插件
  分页
 53006  354

自己编写的jquery分页插件,通用性很强(原创)

只需要传递后台获取的数据总条数和每页数量,回调返回当前页码数用于ajax请求
  分页
 27345  312

讨论这个项目(23)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    无聊的人才会改名字 0
    2020/3/15 12:54:32
    你好,请问下pageSize怎么动态设置啊
        游戏人生0
        2020/3/19 15:25:04
        通过P.config.pageSize参数
        无聊的人才会改名字0
        2020/3/19 22:41:50
        在哪设置啊,我这边在发送ajax前设置会报错
        无聊的人才会改名字0
        2020/3/19 22:48:59
        回复撤销不了,解决了谢谢大佬
    回复
    丶未? 0
    2019/11/23 13:20:20
    如果重新查一遍再走一次init 下次的分页查询就会很慢 回复
    .杰 0
    2019/11/4 16:21:13
    这个插件如何在一个页面重复使用呢?
        游戏人生1
        2019/12/9 14:28:53
        在初始化到另一个div容器中就可以了,容器id属性值可定是不同的
    回复
    海洋 0
    2019/8/30 12:03:48
    TinaShi 0
    2019/8/15 19:37:29
    请问 如果没有数据 total总条数为0的话 貌似会出来7个,这是为撒。哪里能改了
        游戏人生1
        2019/12/9 14:25:50
        total值为0的时候分页是不显示的,如果显示了那就说明total赋值失败或者赋值代码位置有问题,仔细检查检查
    回复
    我的电脑 0
    2019/8/2 15:43:13
    hi,那这个方法,如何获取用户点击的页码数呢?
        我的电脑0
        2019/8/2 15:46:15
        哦,点击页码的时候 pageIndex会改变啊
    回复
    ┪蚁胨档哪悴欢 0
    2019/7/31 11:21:13
    这个分页条的总数量是只能为13个吗
        西瓜0
        2019/7/31 11:32:52

        当然不是了,演示提供了total:'123',只共123条数据每页10条,你改成1231不就变成100多页了。

    回复
    wanhhgood 0
    2019/7/15 9:53:45
    无法通过js动态改变控件,比如:刷新控件,如果带查询条件就不好处理了。
        游戏人生1
        2019/7/19 19:52:17
        P.initMathod({
            params: {
                elemId: '#Page',
                total: '123'
            },
            requestFunction: function() {
                // P.config.total = parseInt(Math.random() * 10 + 85);//此处模拟总记录变化
        
                //TODO ajax异步请求过程,异步获取到的数据总条数赋值给 P.config.total
        
                $.ajax({
                    url: 'demo/test', //后端服务请求地址
                    type: 'post',
                    data: {}, //条件查询附带参数
                    dataType: 'json',
                    async: false, //值为false,分页自动渲染;值为true,分页手动渲染
                    success: function(res) {
                        if ("0" == res.code) {
                            //TODO 其他自己需要处理的业务逻辑,列表渲染自行处理
                            P.config.total = res.total; //res.total是后台返回的总记录数
                            //P.pageHtml();//重新渲染分页。使用时配合Ajax的属性async:false - 值为false,分页自动渲染;值为true,分页手动渲染
                            console.log(JSON.stringify(P.config)); //请忽略此行
                        } else {
                            alert("暂无数据"); //正式项目一般采用dialog弹框
                        }
                    },
                    error: function() {
                        alert("程序出现异常"); //正式项目一般采用dialog弹框
                    }
                });
            }
        });
    回复
    反方向的钟 0
    2019/7/10 15:58:06
    //列表渲染自行处理
    可以给个例子吗?怎么动态显示呢?
        游戏人生1
        2019/7/19 19:50:10
        这是单独分离出来的分页,不涉及列表数据渲染,建议使用数据模板引擎自行渲染
    回复
    ^_Important_^ 0
    2019/7/2 10:22:05
    这个分页不能重复使用啊,重新定义一个对象也不行
        ^_Important_^0
        2019/7/2 12:42:21
        抱歉,是我太菜了。。。插件没问题,很优秀
        游戏人生0
        2019/7/4 13:35:22
        问题解决了就好,有问题欢迎指出,咱们共同进步
        wanhhgood0
        2019/7/15 10:31:16
        解决了啥问题,贴处理共享一下吧
        .杰0
        2019/11/4 16:48:51
        怎么解决的呢?
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复