快速使用laypage分页demo

layPage 致力于提供极致的分页逻辑,既可轻松胜任异步分页,也可作为页面刷新式分页。自 layui 2.0 开始,无论是从核心代码还是API设计,layPage 都完成了一次蜕变。清爽的UI、灵活的排版,极简的调用方式,这一切的优质元素,都将毫无违和感地镶嵌在你的页面之中。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>laypage</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../public/layui/css/layui.css"  media="all">
    <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
<body>
<div style="text-align: center;">

</div>    

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
    <legend>将一段已知数组分页展示</legend>
</fieldset>

<div id="demo"></div>
<ul id="city_list"></ul>


<script src="../public/layui/js/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
<script>
    layui.use(['laypage', 'layer'], function(){
        var laypage = layui.laypage
            ,layer = layui.layer;

        //用于分页展示的测试数据,一般通过服务端得到
        var data = [
            '北京',
            '上海',
            '广州',
            '深圳',
            '杭州',
            '长沙',
            '合肥',
            '宁夏',
            '成都',
            '西安',
            '南昌',
            '上饶',
            '沈阳',
            '济南',
            '厦门',
            '福州',
            '九江',
            '宜春',
            '赣州',
            '宁波',
            '绍兴',
            '无锡',
            '苏州',
            '徐州',
            '东莞',
            '佛山',
            '中山',
            '成都',
            '武汉',
            '青岛',
            '天津',
            '重庆',
            '南京',
            '九江',
            '香港',
            '澳门',
            '台北'
        ];

        //调用分页
        laypage.render({
            elem: 'demo'         // 1.elem: 'id' 注意:这里不能加 # 号,2. elem: document.getElementById('id')
            ,count: data.length  //数据总数。一般通过服务端得到
            //,limit: 4         //每页显示的条数。laypage将会借助 count 和 limit 计算出分页数。
            ,limits: [10, 20, 50]   //每页条数的选择项
            ,layout: [ 'prev', 'page', 'next', 'limit', 'limits']
            ,theme: '#FF5722'   //自定义主题
            ,jump: function(obj){
                //模拟渲染
                document.getElementById('city_list').innerHTML = function(){
                    var arr = []
                        ,thisData = data.concat().splice(obj.curr*obj.limit - obj.limit, obj.limit);
                    layui.each(thisData, function(index, item){
                        arr.push('<li>'+ item +'</li>');
                    });
                    return arr.join('');
                }();
            }
        });

    });
</script>

</body>
</html>

基础参数选项

通过核心方法:laypage.render(options) 来设置基础参数。由于使用非常简单,本篇直接罗列核心接口的参数选项

参数选项说明类型默认值
elem指向存放分页的容器,值可以是容器ID、DOM对象。如:
1. elem: 'id' 注意:这里不能加 # 号 
2. elem: document.getElementById('id')
String/Object-
count数据总数。一般通过服务端得到Number-
limit每页显示的条数。laypage将会借助 count 和 limit 计算出分页数。Number10
limits每页条数的选择项。如果 layout 参数开启了 limit,则会出现每页条数的select选择框Array[10, 20, 30, 40, 50]
curr起始页。一般用于刷新类型的跳页以及HASH跳页。如:
  1. //开启location.hash的记录
  2. laypage.render({
  3. elem: 'test1'
  4. ,count: 500
  5. ,curr: location.hash.replace('#!fenye=', '') //获取起始页
  6. ,hash: 'fenye' //自定义hash值
  7. });
  8.  
Number1
groups连续出现的页码个数Number5
prev自定义“上一页”的内容,支持传入普通文本和HTMLString上一页
next自定义“下一页”的内容,同上String下一页
first自定义“首页”的内容,同上String1
last自定义“尾页”的内容,同上String总页数值
layout自定义排版。可选值有:count(总条目输区域)、prev(上一页区域)、page(分页区域)、next(下一页区域)、limit(条目选项区域)、refresh(页面刷新区域。注意:layui 2.3.0 新增) 、skip(快捷跳页区域)Array['prev', 'page', 'next']
theme自定义主题。支持传入:颜色值,或任意普通字符。如: 
1. theme: '#c00' 
2. theme: 'xxx' //将会生成 class="layui-laypage-xxx" 的CSS类,以便自定义主题
String-
hash开启location.hash,并自定义 hash 值。如果开启,在触发分页时,会自动对url追加:#!hash值={curr} 利用这个,可以在页面载入时就定位到指定页String/Booleanfalse
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui表格与layui分页组件可以很好地搭配使用,可以实现数据的分页展示,具体使用方法如下: 1. 引入layui框架和相关样式文件: ```html <link rel="stylesheet" href="layui/css/layui.css"> <script src="layui/layui.js"></script> ``` 2. 创建一个容器用于展示表格和分页组件: ```html <div id="demo"></div> ``` 3. 编写JavaScript代码,渲染表格和分页组件: ```javascript layui.use(['table', 'laypage'], function(){ var table = layui.table; var laypage = layui.laypage; // 表格渲染 table.render({ elem: '#demo', url: '/data.json', // 数据接口 cols: [[ // 表头 {field: 'id', title: 'ID', width: 80}, {field: 'username', title: '用户名', width: 120}, {field: 'sex', title: '性别', width: 80}, {field: 'city', title: '城市', width: 100}, {field: 'sign', title: '签名', width: 200}, {field: 'experience', title: '积分', width: 80}, {field: 'score', title: '评分', width: 80}, {field: 'classify', title: '职业', width: 100}, {field: 'wealth', title: '财富', width: 120} ]] }); // 分页组件渲染 laypage.render({ elem: 'demo', // 分页容器的id count: 50, // 数据总数 limit: 10, // 每页显示的条数 curr: location.hash.replace('#!fenye=', ''), // 获取hash值作为当前页码 hash: 'fenye', // 自定义hash值 jump: function(obj, first){ if(!first){ // 非首次加载才会执行 table.reload('demo', { where: { // 其他参数 page: obj.curr, limit: obj.limit } }); } } }); }); ``` 以上代码中,`table.render()`函数用于渲染表格,`laypage.render()`函数用于渲染分页组件。其中,`table.reload()`函数用于重新加载表格数据,实现分页效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值