javascript - 分页数字的错误进度

标签 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 = 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/

相关文章:

javascript - 在 jQuery 数据表中禁用 ctrl+click 选择

javascript - 模态窗口而不是警报

jquery - 将参数传递给 JQuery 中的过滤器函数

ajax - 使用ajax分页的primefaces数据表重新创建viewscoped bean

javascript - 如何使用 JavaScript 向 HTML 文本添加新行?

javascript - 如何在不破坏 Angular 数据绑定(bind)的情况下更新集合中的项目?

javascript - 按下回车时忽略下一行

javascript - 选择除特定子元素之外的 jquery 元素

database - 使用 ROWNUM 的 Oracle 数据库问题

php - Cakephp错误: in paginator joins generated query