Javascript 页码错误数字进度

Javascript 页码错误数字进度,javascript,jquery,pagination,sites,Javascript,Jquery,Pagination,Sites,这是我的代码: var pages = Math.ceil(allItems / itemsPerPage); var pagesArray = []; for(var i = 0; i < pages; i++){ pagesArray.push(i); } var show = 3; var offset = pageCounter + show; var showPages = pagesArray.slice(pageCounter, offset); for(var h

这是我的代码:

var pages = Math.ceil(allItems / itemsPerPage);
var pagesArray = [];
for(var i = 0; i < pages; i++){
    pagesArray.push(i);
}
var show = 3;
var offset = pageCounter + show;
var showPages = pagesArray.slice(pageCounter, offset);
for(var h = 0; h < showPages.length; h++){
    if(pageCounter == showPages[h]){
        selectedPageClass = 'selected';
    }else{
        selectedPageClass = '';
    }
    $(".pagination").append("<a href='#' class='" + selectedPageClass +"'>" + showPages[h] + "</a>");
}   
var pages=Math.ceil(allItems/itemsPerPage);
var pagesArray=[];
对于(变量i=0;i
我现在的问题是: 如果我有这个数组
[“1”、“2”、“3”、“4”、“5”]

当我在“0”页时,第一步应该是:

1(已选)2 3

这很有效。但事情是这样的:

var showPages = pagesArray.slice(Math.min(pageCounter, pages- show), offset);
2(已选)3 4

3(已选)4 5

4(已选)5

5(选定)

但我想要的是:

1(已选)2 3

2(已选)3 4

3(已选)4 5

3 4(已选)5

3 4 5(选定)

您可以更新顶部的变量,pageCounter是基于0的

//editable variables
var pages = 5;
var pageCounter = 0;
var show = 3;

//calculation 
var pagesArray = [];
for(var i = 1; i <= pages; i++){
    pagesArray.push(i);
}
var offset = pageCounter + show;
var showPages = pagesArray.slice(Math.min(pages - show, pageCounter), offset);
for(var h = 0; h < showPages.length; h++){
    if(pageCounter + 1 == showPages[h]){
        selectedPageClass = 'selected';
    }else{
        selectedPageClass = '';
    }
    $(".pagination").append("<a href='#' class='" + selectedPageClass +"'>" + showPages[h] + "</a>");
}   
//可编辑变量
var=5;
var pageCounter=0;
var=3;
//算计
var pagesArray=[];

对于(var i=1;i您应该这样做
showPages

var showPages = pagesArray.slice(Math.min(pageCounter, pages- show), offset);
请参见下面的演示:

var pages=10,
pageCounter=0;
var pagesArray=[];
对于(变量i=0;i=页面)
返回;
pageCounter++;
分页();
});
//重新分页
$(“#重新启动”)。单击(函数(){
pageCounter=0;
分页();
});
。已选定{
颜色:红色;
}

翻开一页
重新启动