随手记--js页面分页(不需要后台mySql使用limit)

    最近做一个项目,js页面分页展示,但是后台没有list返回,只有一个数据统计,类似于totalNums(总记录数),说白了就

只有一个数,比如30,40,50.这样。

    然后,在js页面发送请求,获取到这个数之后,利用这个数,再拼装一些标签。组成自己想要的分页展示内容。这里就没有使用到后台mySql语句的limit。

   随手记录一下,方便以后调用,看代码:

首先是自己在网上搜到案例:

    

<html>
<head>
    <meta charset='utf-8'>
    <style type="text/css">
        #idData {color: red;border: solid;text-align: center;}
        a{text-decoration: none;}
    </style>
</head>
<body onLoad="goPage(1,10);">
<table id="idData" width="70%">
    <tr><td>liujinzhong1</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong2</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong3</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong4</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong5</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong6</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong7</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong8</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong9</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong10</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong11</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong12</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong13</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong14</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong15</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong16</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong17</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong18</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong19</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong20</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong21</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong22</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong23</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong24</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong25</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong26</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong27</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong28</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong29</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong30</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong31</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong32</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong33</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong34</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong35</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong36</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong37</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong38</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong39</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
    <tr><td>liujinzhong40</td><td>25</td><td>男</td><td>山西吕梁</td></tr>
</table>
<table width="60%" align="right">
    <tr><td><div id="barcon" name="barcon"></div></td></tr>
</table>
<script>
    function goPage(pno,psize){
        var itable = document.getElementById("idData");
        var num = itable.rows.length;//表格所有行数(所有记录数)
        console.log(num);
        var totalPage = 0;//总页数
        var pageSize = psize;//每页显示行数
        //总共分几页
        if(num/pageSize > parseInt(num/pageSize)){
            totalPage=parseInt(num/pageSize)+1;
        }else{
            totalPage=parseInt(num/pageSize);
        }
        var currentPage = pno;//当前页数
        var startRow = (currentPage - 1) * pageSize+1;//开始显示的行  31
        var endRow = currentPage * pageSize;//结束显示的行   40
        endRow = (endRow > num)? num : endRow;    //40
        console.log(endRow);
        //遍历显示数据实现分页
        for(var i=1;i<(num+1);i++){
            var irow = itable.rows[i-1];
            console.log(irow);
            if(i>=startRow && i<=endRow){
                irow.style.display = "block";
            }else{
                irow.style.display = "none";
            }
        }
        var pageEnd = document.getElementById("pageEnd");
        var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
        if(currentPage>1){
            tempStr += "<a href=\"#\" onClick=\"goPage("+(1)+","+psize+")\">首页</a>";
            tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage-1)+","+psize+")\"><上一页</a>"
        }else{
            tempStr += "首页";
            tempStr += "<上一页";
        }

        if(currentPage<totalPage){
            tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage+1)+","+psize+")\">下一页></a>";
            tempStr += "<a href=\"#\" onClick=\"goPage("+(totalPage)+","+psize+")\">尾页</a>";
        }else{
            tempStr += "下一页>";
            tempStr += "尾页";
        }

        document.getElementById("barcon").innerHTML = tempStr;

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

然后是自己根据案例,改动:

 var str ="";
		function setBuildingBoxInfo(){
            var unitName = arguments[0].name;
            $.ajax({
                url:'http://localhost:8080/grid/block/getUnitByUnitName.do',
                type:'post',
                data:{"unitName":unitName},
                dataType:'json',
                success:function (result) {
                    var nums = result.floorCount;
//                    for(var i=1;i <= result.floorCount;i++){
//                       str += "<li><a href='javascript:parent.floorOne(\""+unitName+"\","+i+");'>第"+i+"层</a></li>";
//                    }
                    str = goPage(1,5,nums,unitName);
                    map.setPopListHtml(str);

                    map.setPopTabHtml("楼层列表");
//                    map.setPopAdbHtml("<a style='color: #fff;' href='javascript:parent.goPage(1,6,"+nums+",\""+unitName+"\");'>上一页</a>  <a style='color: #fff;' href='javascript:parent.goPage(1,6,"+nums+",\""+unitName+"\");'>下一页</a>");
                    str = "";
                    parent.str = "";
                }
            });
        }

var popStr = "";
    function floorOne(unitName,houseNum){
        $.ajax({
            url:'http://localhost:8080/grid/pop/getPopListByHouseNum.do',
            type:'post',
            data:{"unitName":unitName,"houseNum":houseNum},
            dataType:'json',
            success:function(result){
                if(result != ""){
                    for(var i=0;i<result.length;i++){
                        popStr += "<li><a href='javascript:parent.getPopData(\""+result[i].popId+"\",\""+result[i].popName+"\",\""+result[i].popSex+"\","+result[i].popTel+");'>"+result[i].popName+"</a></li>";
                    }
                }else{
                    popStr += "<li>暂无人口信息!</li>";
                }
                map.setPopTabHtml("人口列表");
                map.setPopListHtml(popStr);
                parent.popStr = "";
            }
        });
    }

    //上一页,下一页函数
    function goPage(pno,pSize,nums,unitName){
        var str = "";
        var totalPage = 0;//总页数
        var pageSize = pSize;//每页多少条
        //总共分多少页
        if(nums/pageSize > parseInt(nums/pageSize)){
            totalPage = parseInt(nums/pageSize)+1;
        }else{
            totalPage = parseInt(nums/pageSize);
        }
        var currentPage = pno; //当前页
        //开始显示的行
        var startRow = (currentPage - 1) * pageSize + 1;
        //结束显示的行
        var endRow = currentPage * pageSize;
        endRow = endRow > nums ? nums : endRow;
        for(var i=1;i<(nums+1);i++){
            if(i >= startRow && i <= endRow){
                str += "<li style='display: block'><a href='javascript:parent.floorOne(\""+unitName+"\","+i+");'>第"+i+"层</a></li>";
            }else{
                str += "<li style='display: none'><a href='javascript:parent.floorOne(\""+unitName+"\","+i+");'>第"+i+"层</a></li>";
            }
        }
//        str += "<li><b style='color: #fff'>共"+nums+"条记录 分"+totalPage+"页 当前第"+currentPage+"页</b></li>";
        if(currentPage > 1){
//            str += "<li><a href='#' onClick='goPage("+(1)+",\""+psize+"\")'>首页</a></li>";
            str += "<li><a href='javascript:parent.map.setPopListHtml(parent.parent.goPage("+(currentPage-1)+",\""+pSize+"\","+nums+",\""+unitName+"\"));'>上一页</a></li>";
        }else{
//            str += "<li><b>首页</b></li>";
            str += "<li><b>上一页</b></li>";
        }
        if(currentPage < totalPage){
            str += "<li><a href='javascript:parent.map.setPopListHtml(parent.parent.goPage("+(currentPage+1)+",\""+pSize+"\","+nums+",\""+unitName+"\"));'>下一页</a></li>";
//            str += "<li><a href='#' onClick='goPage("+(totalPage)+",\""+psize+"\")'>尾页</a></li>";
        }else{
            str += "<li><b>下一页</b></li>";
//            str += "<li><b>尾页</b></li>";
        }

        return str;
    }




猜你喜欢

转载自blog.csdn.net/zfb52572/article/details/79399609