jq动态分页

<html>
<head>
    <meta charset='utf-8'>
     <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
 <style type="text/css">
 </style>
</head>
<body >
    <table class="table5">
                <thead>
                <tr>
                    <th class="th1">推荐好友排序</th>
                    <th class="th2">好友QQ</th>
                    <th class="th3">好友昵称</th>
                    <th class="th4">电话</th>
                </tr>
                </thead>
                <tbody class="friend-box" id="friend_ul" style="text-align: center">

                <div style="text-align: center">
                    <em><b class="nowpages">1</b>/<b class="allpages">1</b></em>
                    <a href="javascript:;" class="btnprv page_pre" onclick="">上一页</a>

                    <a href="javascript:;" class="btnnext page_next"
                       onclick="">下一页</a>
                </div>
                </tbody>
            </table>



    <script type="text/javascript">
        //测试数据
        obj = [
            { rolename: "张1", userid: "123456789", tel: "666" },
            { rolename: "张2", userid: "123456789", tel: "666" },
            { rolename: "张3", userid: "123456789", tel: "666" },
            { rolename: "张4", userid: "123456789", tel: "666" },
            { rolename: "张5", userid: "123456789", tel: "666" },
            { rolename: "张6", userid: "123456789", tel: "666" },
            { rolename: "张7", userid: "123456789", tel: "666" },
            { rolename: "张8", userid: "123456789", tel: "666" },
            { rolename: "张9", userid: "123456789", tel: "666" },
            { rolename: "张10", userid: "123456789", tel: "666" },
            { rolename: "张11", userid: "123456789", tel: "666" },
            { rolename: "张12", userid: "123456789", tel: "666" },
            { rolename: "张13", userid: "123456789", tel: "666" },
            { rolename: "张14", userid: "123456789", tel: "666" },
            { rolename: "张15", userid: "123456789", tel: "666" },
        ];
            var cur_page = 1;
            if (obj.length > 0) {
                $.each(obj, function (k, v) {
                    v["userid_special"] = replaceStr(v["userid"],4,3);
                    if (k < 9) {
                        v["index"] = "0" + (k + 1);
                    } else {
                        v["index"] = k + 1;
                    }
                });
            }
            var ps = 7;
            var start = (cur_page - 1) * ps;
            var end = cur_page * ps;
            var total = Math.ceil(obj.length / ps);
            total = total == 0 ? 1 : total;
            var cur_friends = obj.slice(start, end);
            $(".allpages").text(total);            
            $(".page_pre").unbind().click(function () {
                        cur_page--;
                        cur_page = cur_page || 1;
                        var start = (cur_page - 1) * ps;
                        var end = cur_page * ps;
                        var cur_friends = obj.slice(start, end);
                        renderPage(cur_friends);
                    });
            $(".page_next").unbind().click(function () {
                cur_page++;
                cur_page = cur_page >= total ? total : cur_page;
                var start = (cur_page - 1) * ps;
                var end = cur_page * ps;
                var cur_friends = obj.slice(start, end);
                renderPage(cur_friends);
            });
            //好友渲染函数
            var renderPage = function (cur_friends) {       
                    $(".nowpages").text(cur_page);
                    $('#friend_ul tr').remove();
                    $.each(cur_friends, function (k, v) {
                        var html = "<tr><td class='munber'>"+v['index'] +"</td><td class='friend_qq_special' >"+v['userid_special'] +"</td><td class='rolename'>"+v['rolename'] +"</td><td class='tel' >"+v['tel'] +"</td></tr>";        
                         $("#friend_ul").append(html);
                    });

            };
            renderPage(cur_friends);


// *屏蔽qq号
function replaceStr(str,start,len){
    var star = '';
    for(var i=0;i<len;i++) {
        star += '*';
    }
    return str.substring(0,start-1) + star + str.substring(start+len-1, str.length);
}

    </script>
</body>
</html> 

效果图
在这里插入图片描述

在这里插入图片描述
样式简单了点哈,这个可以自己调

jq datatable 是一个非常流行的 jQuery 表格插件,它可以快速方便地实现表格的排序、搜索、分页等功能。而在实际开发中,我们可能需要动态地传递参数来进行分页,使得表格能够根据具体情况显示不同的数据。为了实现这个需求,我们需要采取以下步骤: 1、配置 datatable 的参数 在初始化 datatable 时,我们需要设置一些参数,包括数据源、列信息、分页等。在处理动态分页时,我们需要特别设置以下几个参数: ①sPaginationType:分页类型,由于我们需要进行动态分页,所以可以设置为 simple_numbers(只显示数字,没有上一页、下一页等按钮)。 ②iDisplayLength:每页显示多少条数据,这个参数可以动态传入,因此可以暂时设置成一个默认值。 ③iDisplayStart:从第几条数据开始显示,这个参数也可以动态传入,因此可以暂时设置成 0。 2、更新 datatable 的分页信息 当我们需要更新表格的分页信息时,可以使用 API 中的 fnSettings() 方法获取当前 datatable 的配置参数,并对其进行修改即可。具体步骤如下: ①使用 fnSettings() 方法获取 datatable 的配置参数。 var settings = $("#example").dataTable().fnSettings(); ②根据需要修改 iDisplayLength 和 iDisplayStart 两个参数。 settings._iDisplayLength = pageSize; // 每页显示条数 settings._iDisplayStart = start; // 起始位置 ③更新表格中的数据。 $("#example").dataTable().fnDraw(); 通过以上步骤,我们就可以实现动态传递参数来进行 datatable 的分页操作,实现了更加灵活的数据处理需求。当然,在实际应用中,还需要注意一些细节问题,比如数据量较大时可能会出现性能问题,需要注意代码的优化等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值