zoukankan      html  css  js  c++  java
  • layPage是一款多功能的js分页组件

    layPage是一款多功能的js分页组件,即适用于异步分页,又可用于传统的整页刷新跳页,还支持信息流加载,并且可无缝迁移至Node.js平台。layPage不依赖于任何第三方库,直接拿来用即可,它的接口继承了layui系列组件的一贯简洁,极易上手。那么,从现在开始,将一切分页的任务交给layPage吧!关注人次:85236版本:1.3,下载数:4393 地址 http://laypage.layui.com/

    先看个实例

     
    假设这是分页内容。它在随分页变换:1663853297
    //以下将以jquery.ajax为例,演示一个异步分页
    function demo(curr){
        $.getJSON('test/demo1.json', {
            page: curr || 1 //向服务端传的参数,此处只是演示
        }, function(res){
            //此处仅仅是为了演示变化的内容
            var demoContent = (new Date().getTime()/Math.random()/1000)|0;
            document.getElementById('view1').innerHTML = res.content + demoContent;
            //显示分页
            laypage({
                cont: 'page1', //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div>
                pages: res.pages, //通过后台拿到的总页数
                curr: curr || 1, //当前页
                jump: function(obj, first){ //触发分页后的回调
                    if(!first){ //点击跳页触发函数自身,并传递当前页:obj.curr
                        demo(obj.curr);
                    }
                }
            });
        });
    };
    //运行
    demo();
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    默认版对应代码laycode - v1.1

    整页刷新式跳转

    //好像很实用的样子,后端的同学再也不用写分页逻辑了。
    laypage({
        cont: 'page11',
        pages: 18, //可以叫服务端把总页数放在某一个隐藏域,再获取。假设我们获取到的是18
        curr: function(){ //通过url获取当前页,也可以同上(pages)方式获取
            var page = location.search.match(/page=(d+)/);
            return page ? page[1] : 1;
        }(), 
        jump: function(e, first){ //触发分页后的回调
            if(!first){ //一定要加此判断,否则初始时会无限刷新
                location.href = '?page='+e.curr;
            }
        }
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    默认版对应代码laycode - v1.1

    自定义皮肤

    laypage({
        cont: document.getElementById('page2'), //容器。值支持id名、原生dom对象,jquery对象,
        pages: 100, //总页数
        skin: 'yahei', //加载内置皮肤,也可以直接赋值16进制颜色值,如:#c00
        groups: 7 //连续显示分页数
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    对应代码说明laycode - v1.1

    开启跳页

    上一页首页131415尾页下一页
    laypage({
        cont: $('#page3'), //容器。值支持id名、原生dom对象,jquery对象,
        pages: 100, //总页数
        skip: true, //是否开启跳页
        skin: '#AF0000',
        groups: 3 //连续显示分页数
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    对应代码说明laycode - v1.1

    自定义文本

    laypage({
        cont: 'page4', //容器。值支持id名、原生dom对象,jquery对象,
        pages: 11, //总页数
        skin: 'molv', //皮肤
        first: 1, //将首页显示为数字1,。若不显示,设置false即可
        last: 11, //将尾页显示为总页数。若不显示,设置false即可
        prev: '<', //若不显示,设置false即可
        next: '>' //若不显示,设置false即可
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    对应代码说明laycode - v1.1

    隐藏首页和尾页

    laypage({
        cont: 'page5', //容器。值支持id名、原生dom对象,jquery对象,
        pages: 11, //总页数
        first: false,
        last: false
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    对应代码说明laycode - v1.1

    开启hash

    看看URL的变化。通过hash,你可以记录当前页。当前正处于第1页
    laypage({
        cont: 'page6', //容器。值支持id名、原生dom对象,jquery对象,
        pages: 68, //总页数
        curr: location.hash.replace('#!fenye=', ''), //获取hash值为fenye的当前页
        hash: 'fenye', //自定义hash值
        jump: function(obj){
            $('#view6').html('看看URL的变化。通过hash,你可以记录当前页。当前正处于第'+obj.curr+'页');
        }
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    对应代码说明laycode - v1.1

    只出现上一页/下一页

    目前正在第1页,一共有:11页
    laypage({
        cont: 'page7', //容器。值支持id名、原生dom对象,jquery对象,
        pages: 11, //总页数
        groups: 0,
        first: false,
        last: false,
        jump: function(obj){
            $('#view7').html('目前正在第'+ obj.curr +'页,一共有:'+ obj.pages +'页');
        }
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10
    对应代码说明laycode - v1.1

    信息流

    laypage({
        cont: 'page8', //容器。值支持id名、原生dom对象,jquery对象,
        pages: 7, //总页数
        groups: 0, //连续分数数0
        prev: false, //不显示上一页
        next: '查看更多',
        skin: 'flow', //设置信息流模式的样式
        jump: function(obj){
            if(obj.curr === 6){
                this.next = '没有更多了';
            }
            $('#view8').append(appendimg(obj.curr));
        }
    });
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    对应代码说明

    其他例子

  • 相关阅读:
    Android 中日期对话框的应用
    Unity3d 生命周期
    C#读写txt文件的两种方法介绍
    C# 获取文件夹下的所有文件夹及其文件
    NPOI 导出Excel
    SqlParameter 参数化模糊查询
    项目中的一个分页功能pagination
    MVC ---- ckeditor 循环遍历并绑定blur事件
    JQUERY链式操作实例分析
    mvc ---- ajax 提交过来的Json格式如何处理(解析)
  • 原文地址:https://www.cnblogs.com/albertflyer/p/4917322.html
Copyright © 2011-2022 走看看