Using js to make HTML table pagination sample of of js pagination


Sometimes the column number of the table is too long, which is not conducive to the user’s query, so JS is used to make a table pagination, the following is the relevant code

One, JS code

<script type="text/javascript">
            var pageSize = 15;    //Number of bars per page
             var curPage=0;        //The current page
             var lastPage;        //The last page
             var direct=0;        // The direction of
            var len;            //Total number of rows
            var page;            //Total number of pages
            var begin;
            var end;

               
            $(document).ready(function display(){  
                len =$("#mytable tr").length - 1;    //  So let's figure out what this is Total number of rows , remove the first line
                page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//Number of pages according to the number of strips
                // alert("page==="+page);
                curPage=1;    //Set current to first page
                displayPage(1);//Show the first page

                document.getElementById("btn0").innerHTML=" The current  " + curPage + "/" + page + "  page      Each page  ";    //Displays the current number of pages
                document.getElementById("sjzl").innerHTML=" Total data  " + len + "";        //Display data volume
                document.getElementById("pageSize").value = pageSize;

               

                $("#btn1").click(function firstPage(){    //  Home page
                    curPage=1;
                    direct = 0;
                    displayPage();
                });
                $("#btn2").click(function frontPage(){    //The previous page
                    direct=-1;
                    displayPage();
                });
                $("#btn3").click(function nextPage(){    //The next page
                    direct=1;
                    displayPage();
                });
                $("#btn4").click(function lastPage(){    //  back
                    curPage=page;
                    direct = 0;
                    displayPage();
                });
                $("#btn5").click(function changePage(){    //  Turn to page
                    curPage=document.getElementById("changePage").value * 1;
                    if (!/^[1-9]d*$/.test(curPage)) {
                        alert(" Please enter a positive integer ");
                        return ;
                    }
                    if (curPage > page) {
                        alert(" Out of data page ");
                        return ;
                    }
                    direct = 0;
                    displayPage();
                });

               
                $("#pageSizeSet").click(function setPageSize(){    //Sets how many records are displayed per page
                    pageSize = document.getElementById("pageSize").value;    //Number of bars per page
                    if (!/^[1-9]d*$/.test(pageSize)) {
                        alert(" Please enter a positive integer ");
                        return ;
                    }
                    len =$("#mytable tr").length - 1;
                    page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//Number of pages according to the number of strips
                    curPage=1;        //The current page
                     direct=0;        // The direction of
                     firstPage();
                });
            });

            function displayPage(){
                if(curPage <=1 && direct==-1){
                    direct=0;
                    alert(" It's page one ");
                    return;
                } else if (curPage >= page && direct==1) {
                    direct=0;
                    alert(" It's the last page ");
                    return ;
                }

                lastPage = curPage;

                //Fixed a bug where curPage calculated 0 when len=1
                if (len > pageSize) {
                    curPage = ((curPage + direct + len) % len);
                } else {
                    curPage = 1;
                }

               
                document.getElementById("btn0").innerHTML=" The current  " + curPage + "/" + page + "  page      Each page  ";        //Displays the current number of pages

                begin=(curPage-1)*pageSize + 1;//Start record number
                end = begin + 1*pageSize - 1;    //End record number

               
                if(end > len ) end=len;
                $("#mytable tr").hide();    //First, set the behavior to hide
                $("#mytable tr").each(function(i){    //Then, determine whether to restore the display by conditional judgment
                    if((i>=begin && i<=end) || i==0 )//Display begin<= x<= end of the record
                        $(this).show();
                });
             }
    </script>

Two, HTML code

<a id="btn0"></a>
<input id="pageSize" type="text" size="1" maxlength="2" value="getDefaultValue()"/><a>  article  </a> <a href="#" id="pageSizeSet"> Set up the </a
<a id="sjzl"></a
<a  href="#" id="btn1"> Home page </a>
<a  href="#" id="btn2"> The previous page </a>
<a  href="#" id="btn3"> The next page </a>
<a  href="#" id="btn4"> back </a
<a> Go to the  </a>
<input id="changePage" type="text" size="1" maxlength="4"/>
<a> page  </a>
<a  href="#" id="btn5"> jump </a>
<table id="mytable" align="center">
... The rest of the table code

The final result of the example is as follows: