jQuery自定义分页插件

所属分类:导航-分页

 29799  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));
            });
相关插件-分页

自制实用主义分页插件

自制实用主义分页插件,分享给需要使用或者学习的人
  分页
 43268  450

基于jquery和bootstrap的分页插件jqPaginator.js

基于jquery的分页插件,引入jquery.js 、bootstrap.css该插件即可
  分页
 51138  328

实用美观的jquery 分页

代码简单,运行速度快,兼容所有浏览器
  分页
 40971  453

简单的Vue分页插件pagination.js

分页插件,带省略的Vue分页插件
  分页
 53664  355

讨论这个项目(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
        怎么解决的呢?
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复