效果说明:当前显示1-6/60  上一页 第 1 2 3 4 5 页 下一页如果当前是1,2,3页(也就是前三页)显示 第1 2 3 4 5 页第4页 第 2 3 4 5 6 页
第5页 第 3 4 5 6 7 页 
....
当前页始终在最终间如果当前是8,9,10页(也就是最后三页显示) 第 6 7 8 9 10 页主要就是 第....页 这里
已知 总页数:pagecount=10;
     总条数:datacount=60;
     每页显示:pagesize=6;
     每组显示:groupsize=5;

解决方案 »

  1.   

    js分页不方便,要通过ajax来。每一还需要请求两种数据,记录总数和要加载的数据页json和xml
      

  2.   

    var PageV1 = function( recordCount,pageIndex,pageSize ,maxPageCount)
    {
            this.recordCount = parseInt(recordCount);//记录数
            this.pageIndex = parseInt(pageIndex); // 当前页数
            this.pageSize = parseInt(pageSize); //每页记录条数
            this.maxPageCount = parseInt(maxPageCount); //显示分页按钮数量
            this.gotoPage = null; //点击分页所执行的函数
    }
    PageV1.prototype = new Page(this.recordCount , this.pageIndex , this.pageSize)
    PageV1.prototype.render = function()
    {
         this.pageCount = Math.ceil(this.recordCount / this.pageSize);
         var prev = this.pageIndex == 1 ? "<span>上一页</span>" : "<a href='#page"+ (this.pageIndex - 1) +"'>上一页</a>";
         var next = this.pageCount <= this.pageIndex ? "<span>下一页</span>" : "<a href='#page"+ (this.pageIndex + 1) +"'>下一页</a>";  
         var first = this.pageIndex == 1 ? "<span>第一页</span>" : "<a href='#page1'>第一页</a>";
         var last = this.pageCount <= this.pageIndex ? "<span>最末页</span>" : "<a href='#page"+ (this.pageCount) +"'>最末页</a>";  
         var pageStr = ""     var pageMathIndex =  Math.floor(this.maxPageCount / 2);
         var pageStartIndex ;
         var pageEndIndex;     if(this.pageCount < this.maxPageCount)
         {
             pageStartIndex = 1
             pageEndIndex = this.pageCount ;
         }
         else
         {
             if(this.pageCount - pageMathIndex < this.pageIndex)
             {
                 pageStartIndex = this.pageCount - this.maxPageCount + 1;
                 pageEndIndex = this.pageCount;
             } 
             else
             {
                 if(this.pageIndex - pageMathIndex < 1)
                 {
                     pageStartIndex = 1;
                     pageEndIndex = this.maxPageCount;
                 }
                 else
                 {
                     pageStartIndex = this.pageIndex - pageMathIndex;
                     pageEndIndex = this.pageIndex + pageMathIndex;
                 }
             }
         
         }
         
         for( var i = pageStartIndex; i <=  pageEndIndex ; i ++)
         {
             if(this.pageIndex == i) pageStr += "<span class='curr'>"+ i +"</span>"
                 else pageStr += "<a href='#page"+ i +"'>"+ i +"</a>";
         }
         
         pageStr = first + prev + pageStr + next + last;
         return pageStr;
    }
      

  3.   

    jquery有的插件叫pagination,可以参考一下.
      

  4.   

    http://tympanus.net/jPaginate/
    给你参考