国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用js制作html table分頁示例(js實現分頁)

2019-11-20 20:47:08
字體:
來源:轉載
供稿:網友

有時候table的列數太長,不利于使用者查詢,所以利用JS做了一個table的分頁,以下為相關代碼

一、JS代碼

復制代碼 代碼如下:

<script type="text/javascript">
            var pageSize = 15;    //每頁顯示的記錄條數
             var curPage=0;        //當前頁
             var lastPage;        //最后頁
             var direct=0;        //方向
            var len;            //總行數
            var page;            //總頁數
            var begin;
            var end;

               
            $(document).ready(function display(){  
                len =$("#mytable tr").length - 1;    // 求這個表的總行數,剔除第一行介紹
                page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//根據記錄條數,計算頁數
                // alert("page==="+page);
                curPage=1;    // 設置當前為第一頁
                displayPage(1);//顯示第一頁

                document.getElementById("btn0").innerHTML="當前 " + curPage + "/" + page + " 頁    每頁 ";    // 顯示當前多少頁
                document.getElementById("sjzl").innerHTML="數據總量 " + len + "";        // 顯示數據量
                document.getElementById("pageSize").value = pageSize;

               

                $("#btn1").click(function firstPage(){    // 首頁
                    curPage=1;
                    direct = 0;
                    displayPage();
                });
                $("#btn2").click(function frontPage(){    // 上一頁
                    direct=-1;
                    displayPage();
                });
                $("#btn3").click(function nextPage(){    // 下一頁
                    direct=1;
                    displayPage();
                });
                $("#btn4").click(function lastPage(){    // 尾頁
                    curPage=page;
                    direct = 0;
                    displayPage();
                });
                $("#btn5").click(function changePage(){    // 轉頁
                    curPage=document.getElementById("changePage").value * 1;
                    if (!/^[1-9]/d*$/.test(curPage)) {
                        alert("請輸入正整數");
                        return ;
                    }
                    if (curPage > page) {
                        alert("超出數據頁面");
                        return ;
                    }
                    direct = 0;
                    displayPage();
                });

               
                $("#pageSizeSet").click(function setPageSize(){    // 設置每頁顯示多少條記錄
                    pageSize = document.getElementById("pageSize").value;    //每頁顯示的記錄條數
                    if (!/^[1-9]/d*$/.test(pageSize)) {
                        alert("請輸入正整數");
                        return ;
                    }
                    len =$("#mytable tr").length - 1;
                    page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//根據記錄條數,計算頁數
                    curPage=1;        //當前頁
                     direct=0;        //方向
                     firstPage();
                });
            });

            function displayPage(){
                if(curPage <=1 && direct==-1){
                    direct=0;
                    alert("已經是第一頁了");
                    return;
                } else if (curPage >= page && direct==1) {
                    direct=0;
                    alert("已經是最后一頁了");
                    return ;
                }

                lastPage = curPage;

                // 修復當len=1時,curPage計算得0的bug
                if (len > pageSize) {
                    curPage = ((curPage + direct + len) % len);
                } else {
                    curPage = 1;
                }

               
                document.getElementById("btn0").innerHTML="當前 " + curPage + "/" + page + " 頁    每頁 ";        // 顯示當前多少頁

                begin=(curPage-1)*pageSize + 1;// 起始記錄號
                end = begin + 1*pageSize - 1;    // 末尾記錄號

               
                if(end > len ) end=len;
                $("#mytable tr").hide();    // 首先,設置這行為隱藏
                $("#mytable tr").each(function(i){    // 然后,通過條件判斷決定本行是否恢復顯示
                    if((i>=begin && i<=end) || i==0 )//顯示begin<=x<=end的記錄
                        $(this).show();
                });

             }
    </script>

二、HTML代碼

復制代碼 代碼如下:

<a id="btn0"></a>
<input id="pageSize" type="text" size="1" maxlength="2" value="getDefaultValue()"/><a> 條 </a> <a href="#" id="pageSizeSet">設置</a> 
<a id="sjzl"></a> 
<a  href="#" id="btn1">首頁</a>
<a  href="#" id="btn2">上一頁</a>
<a  href="#" id="btn3">下一頁</a>
<a  href="#" id="btn4">尾頁</a> 
<a>轉到 </a>
<input id="changePage" type="text" size="1" maxlength="4"/>
<a>頁 </a>
<a  href="#" id="btn5">跳轉</a>

<table id="mytable" align="center">
...剩余的table代碼

最后得到的例子效果如圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡东县| 静安区| 深水埗区| 临夏县| 开鲁县| 德令哈市| 沙雅县| 伊川县| 岗巴县| 舟山市| 定陶县| 来凤县| 绥阳县| 临高县| 阳山县| 镇平县| 佳木斯市| 新田县| 临海市| 清新县| 德化县| 石屏县| 苍梧县| 偏关县| 临颍县| 汤阴县| 吉木萨尔县| 北川| 岚皋县| 华容县| 万山特区| 凌源市| 临夏市| 龙岩市| 淮南市| 镇康县| 吉安县| 太康县| 岱山县| 康保县| 泾源县|