这是我的代码:
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>");
}
我现在的问题是:
如果我有这个数组 ["1","2","3","4","5"]
当我在“0”页时,第一步应该是:
1(选中) 2 3
这行得通。但比这样继续下去:
2(选中) 3 4
3(选中) 4 5
4(选中) 5
5(选中)
但我想要的是:
1(选中) 2 3
2(选中) 3 4
3(选中) 4 5
3 4(选中) 5
3 4 5(选中)
最佳答案
http://codepen.io/anon/pen/JbBYva
您可以更新顶部的变量,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>");
}
关于javascript - 分页数字的错误进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41061911/