类似百度搜索后分页的实现

来源:互联网 发布:sql 用变量作为字段名 编辑:程序博客网 时间:2024/05/16 05:09

百度搜索出数据之后,底下出现的页面标识的类似实现

我这个是设置为一页显示10条,最多显示5页,是之前参考过一些网上的例子之后改写的。

function paping (pg_num){                        var maxPageCount = 5;//最大显示页数            var pageCount = ${pages};//总页数,由服务器端进行计算,传回            // 如果当前页数大于总页数,则设置当前页数等于总页数            if(pg_num >= pageCount){            pg_num = pageCount;                        }            var option = "";            var pageNow = (pg_num-1>1?pg_num-1:1);            //alert(pageNow);                var root = "<%=request.getContextPath()%>";            /* option+="<li><a href='"+root+"'>下一页</a></li>";            alert(option); */            option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+pageNow+"'> 上一页</a></li>" ;                        if(pageCount<maxPageCount+1){            for(var i=1;i<pageCount+1;i++){            if(i==pg_num){            option+="<li><a>"+i+"</a></li>"            }else{            option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+i+"'>"+i+"</a></li>";            }                        }                                       option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+(pg_num+1<pageCount?pg_num+1:pageCount)+"'> 下一页</a></li>";            }else{            var begin=0;            var end=0;            if(pg_num-2>0){            /*限制每次最多展示5页*/            begin = pg_num-2;            end =pg_num+2;            if(pg_num>=pageCount-2){             begin=pageCount-maxPageCount+1;     end=pageCount;            }            for(var i=begin;i<end;i++){            if(i==pg_num){                option+="<li><a>"+i+"</a></li>"                }else{                option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+i+"'>"+i+"</a></li>";                 }            }             option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+(pg_num+1<end?pg_num+1:end)+"'> 下一页</a></li>";            }else{            for(var i=1;i<maxPageCount+1;i++){            if(i==pg_num){                option+="<li><a>"+i+"</a></li>"                }else{                option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+i+"'>"+i+"</a></li>";                }            }                        }            option+="<li> <a href='" +root+"/merchant/queryAllMerchantList.action?page="+(pg_num+1<pageCount?pg_num+1:pageCount)+"'> 下一页</a></li>";            }                        return option;                 }
效果如下


当超过5页,出现第六页时,就会显示23456,第一页则不会再显示。这里每次只从服务器取10条数据。

0 0