【js 分页】js 分页 方法一 【实用】

  

完整code在后面。

一、ajax 获取数据  table中显示。(实际:传入size page 到api获取分页数据)

二、加载分页js css 

三、生成分页功能。

四、主要code:

1、下拉:

//选择条数:<!--下拉选择条数:默认:15 50 100 200-->
        document.getElementById("page_s").innerHTML = "<select id='select_t' class='page_select' onchange='pageselect()'>" +
            "<option value='15'>15</option><option value='50'>50</option><option value='100'>100</option>" +
            "<option value='200'>200</option></select>";
   //选择:
    function pageselect() {
        var select_ct = document.getElementById("select_t");
        var vinfo = select_ct.options[select_ct.selectedIndex].value;
        setpage(1, vinfo);
    }

2、生成数字:

 if (d > 6) {
            te = d;
            //当前页是否超显示数:
            for (var i = te; i <= (d + tt); i++) {
                //在总页数范围内。若超出,则不显示。
                if (i < total) {
                    p_num += "<li><a onclick=setpage(" + (i) + "," + page_size + ")>" + i + "</a></li>";
                }
            }
        } else {
            for (var i = 1; i <= tt; i++) {
                p_num += "<li><a onclick=setpage(" + (i) + "," + page_size + ")>" + i + "</a></li>";
            }
        }

3、跳转:

    function return_bt() {
        var select_ct = document.getElementById("select_t");
        var vinfo = select_ct.options[select_ct.selectedIndex].value;
        var inp = document.getElementById("inputs").value;
        if (inp == "" || inp == null) {
            alert("请输入正整数。");
            inp = 1;
        }
        setpage(inp, vinfo);
    }

完整:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>js page demo www.liuguiqing.com.cn</title>
    <style>
        table {
            border-collapse: collapse;
            text-align: center;
        }

        table tr td {
            width: 200px;
        }

        table td, table th {
            border: 1px solid #caf1c5;
            color: #666;
            height: 30px;
        }

        table thead th {
            background-color: #CCE8EB;
            width: 100px;
        }

        table tr:nth-child(odd) {
            background: #fff;
        }

        table tr:nth-child(even) {
            background: #f1f3fd;
        }

        .disno {
            display: none;
        }

        .btc {
            color: black;
            padding: 6px 10px;
            text-decoration: none;
            transition: background-color .3s;
            border: 1px solid #ddd;
            margin: 0 4px;
        }

        ul.pagination {
            display: inline-block;
            padding: 0;
            margin: 0;
        }

        ul.pagination li {
            display: inline;
        }

        ul.pagination li a {
            color: black;
            padding: 6px 10px;
            text-decoration: none;
            transition: background-color .3s;
            border: 1px solid #ddd;
            margin: 0 4px;
        }

        ul.pagination li a.active {
            background-color: #4CAF50;
            color: white;
            border: 1px solid #4CAF50;
        }

        ul.pagination li a:hover:not(.active), .btc:hover {
            background-color: #ddd;
        }

        .inputc {
            width: 61px;
            font-size: 18px;
        }

        .page_select {
            font-size: 17px;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            initf();
            setpage(1, 15);
        }
    </script>
</head>
<body>

<script>
    //初始化标签:
    function initf() {
        //选择条数:<!--下拉选择条数:默认:15 50 100 200-->
        document.getElementById("page_s").innerHTML = "<select id='select_t' class='page_select' onchange='pageselect()'>" +
            "<option value='15'>15</option><option value='50'>50</option><option value='100'>100</option>" +
            "<option value='200'>200</option></select>";
        //跳转:
        var re_t = "";
        re_t += "到: <input class='inputc' id='inputs' type='text'/> 页 &emsp;";
        re_t += "<button  class='btc' onclick='return_bt()'>跳转</button>";
        document.getElementById("input_put").innerHTML = re_t;
    }

    //选择:
    function pageselect() {
        var select_ct = document.getElementById("select_t");
        var vinfo = select_ct.options[select_ct.selectedIndex].value;
        setpage(1, vinfo);
    }

    //跳转
    function return_bt() {
        var select_ct = document.getElementById("select_t");
        var vinfo = select_ct.options[select_ct.selectedIndex].value;
        var inp = document.getElementById("inputs").value;
        if (inp == "" || inp == null) {
            alert("请输入正整数。");
            inp = 1;
        }
        setpage(inp, vinfo);
    }

    function setpage(page, page_size) {

        //条数
        var table_row = document.getElementById("tableId");
        var info_num = table_row.rows.length;
        var total = 0;
        //单页条数
        var size = page_size;
        //总页数
        if (info_num / size > parseInt(info_num / size)) {
            total = parseInt(info_num / size) + 1;
        } else {
            total = parseInt(info_num / size);
        }
        //第N页
        var thispage = page;
        var first_row = (thispage - 1) * size + 1;
        var last_row = thispage * size;
        last_row = (last_row > info_num) ? info_num : last_row;
        //分页隐藏、显示:
        for (var i = 1; i < (info_num + 1); i++) {
            var row_bn = table_row.rows[i - 1];
            if (i >= first_row && i <= last_row) {
                row_bn.style.display = "block";
            } else {
                row_bn.style.display = "none";
            }
        }
        //条数
        document.getElementById("page_n").innerHTML = "第<strong>" + thispage + "</strong>页/共<strong>" + total + "</strong>页"
            + " &emsp;&emsp; 共<strong>" + info_num + "</strong>条 &emsp;";
        //首页 上一页:
        var p_num = "";
        if (thispage > 1) {
            p_num += "<button class='btc' onClick=setpage(" + (1) + "," + page_size + ")>首页</button>&emsp;&emsp;";
            p_num += "<button class='btc' onClick=setpage(" + (thispage - 1) + "," + page_size + ")>上一页</button>&emsp;&emsp;";
        } else {
            p_num += "<button class='btc'>首页</button>&emsp;&emsp;";
            p_num += "<button class='btc'>上一页</button>&emsp;&emsp;";
        }
        //生成数字显示:默认显示1 2 3 4 5 6
        var tt = 6;
        if (tt > total) {
            tt = total;
        }
        p_num += "<ul class='pagination'>";
        var te = 1;
        var d = thispage + 1;
        if (d > 6) {
            te = d;
            //当前页是否超显示数:
            for (var i = te; i <= (d + tt); i++) {
                //在总页数范围内。若超出,则不显示。
                if (i < total) {
                    p_num += "<li><a onclick=setpage(" + (i) + "," + page_size + ")>" + i + "</a></li>";
                }
            }
        } else {
            for (var i = 1; i <= tt; i++) {
                p_num += "<li><a onclick=setpage(" + (i) + "," + page_size + ")>" + i + "</a></li>";
            }
        }
        p_num += "</ul>&emsp;&emsp;";
        //尾页 下一页
        if (thispage < total) {
            p_num += "<button class='btc' onClick=setpage(" + (thispage + 1) + "," + page_size + ")>下一页</button>&emsp;&emsp;";
            p_num += "<button class='btc' onClick=setpage(" + (total) + "," + page_size + ")> 尾页 </button>";

        } else {
            p_num += "<button class='btc'>下一页</button>&emsp;&emsp;";
            p_num += "<button class='btc'> 尾页 </button>";
        }
        document.getElementById("page_t").innerHTML = p_num;
    }

</script>
<table>
    <tr>
        <td style="width: 200px">标题</td>
        <td style="width: 200px">项目名称</td>
        <td style="width: 200px">事件类型</td>
    </tr>
</table>
<table id="tableId">
    <tr>
        <td>信息1</td>
        <td>项目1</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息2</td>
        <td>项目2</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息3</td>
        <td>项目3</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息4</td>
        <td>项目4</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息5</td>
        <td>项目5</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息6</td>
        <td>项目6</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息7</td>
        <td>项目7</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息8</td>
        <td>项目8</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息9</td>
        <td>项目9</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息10</td>
        <td>项目10</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息11</td>
        <td>项目11</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息12</td>
        <td>项目12</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息13</td>
        <td>项目13</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息14</td>
        <td>项目14</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息15</td>
        <td>项目15</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息16</td>
        <td>项目16</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息17</td>
        <td>项目17</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息18</td>
        <td>项目18</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息19</td>
        <td>项目19</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息20</td>
        <td>项目20</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息21</td>
        <td>项目21</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息22</td>
        <td>项目22</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息23</td>
        <td>项目23</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息24</td>
        <td>项目24</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息25</td>
        <td>项目25</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息26</td>
        <td>项目26</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息27</td>
        <td>项目27</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息28</td>
        <td>项目28</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息29</td>
        <td>项目29</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息30</td>
        <td>项目30</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息31</td>
        <td>项目31</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息32</td>
        <td>项目32</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息33</td>
        <td>项目33</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息34</td>
        <td>项目34</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息35</td>
        <td>项目35</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息36</td>
        <td>项目36</td>
        <td>类型xx</td>
    </tr>
    <tr>
        <td>信息37</td>
        <td>项目37</td>
        <td>类型xx</td>
    </tr>
</table>
<div style="float: right">
    <!--条数说明: 第N页/共N页     -->
    <span id="page_n" name="page_n"></span>
    <!--下拉选择条数:默认:15 50 100 200-->
    <span>
        &emsp;<span>每页显示:</span>
        <span id="page_s" name="page_s"></span>条。&emsp;&emsp;
    </span>
    <!--上一步 1 2 3 4 5 6 下一步-->
    <span id="page_t" name="page_t"> </span>
    <!--跳转:-->
    &emsp;&emsp;
    <span>
        <span id="input_put"></span>&emsp;
        <span id="page_b" name="page_b"></span>
    </span>
</div>
</body>
</html>

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值