【发布时间】:2021-07-27 18:21:14
【问题描述】:
我已经启动并运行了一个分页,它工作正常。但是我希望它只显示 5 个页码,例如 1.2.3.4.5,然后当我单击下一步时,它会显示 6.7.8.9.10 等等。
我使用 JavaScript 创建了它,代码如下。
我已经尝试了来自不同地方的多段代码,但我很肯定我错过了一些东西,因为似乎没有任何工作。
$( document ).ready(function() {
pageSize = 2;
pagesCount = $(".content").length;
var currentPage = 1;
/////////// PREPARE NAV ///////////////
var nav = '';
var totalPages = Math.ceil(pagesCount / pageSize);
for (var s=0; s<totalPages; s++){
nav += '<li class="numeros"><a href="#">'+(s+1)+'</a></li>';
}
$(".pag_prev").after(nav);
$(".numeros").first().addClass("active");
//////////////////////////////////////
showPage = function() {
$(".content").hide().each(function(n) {
if (n >= pageSize * (currentPage - 1) && n < pageSize * currentPage)
$(this).show();
});
}
showPage();
$(".pagination li.numeros").click(function() {
$(".pagination li").removeClass("active");
$(this).addClass("active");
currentPage = parseInt($(this).text());
showPage();
});
$(".pagination li.pag_prev").click(function() {
if($(this).next().is('.active')) return;
$('.numeros.active').removeClass('active').prev().addClass('active');
currentPage = currentPage > 1 ? (currentPage-1) : 1;
showPage();
});
$(".pagination li.pag_next").click(function() {
if($(this).prev().is('.active')) return;
$('.numeros.active').removeClass('active').next().addClass('active');
currentPage = currentPage < totalPages ? (currentPage+1) : totalPages;
showPage();
});
});
【问题讨论】:
-
欢迎来到 StackOverflow!请向我们提供更多信息,说明您的代码究竟有什么不适合的,以及您想用它实现什么,以便我们为您提供一些帮助。另请参阅stackoverflow.com/help/how-to-ask
-
嗨,目前每次我添加新内容时,分页都会添加另一个数字。因此,目前我在页面底部列出了数字 1-10。但是我想要它,所以它只显示大约 5 个数字,直到我到达最后一个数字,然后它会更改为另外 5 个数字
标签: javascript pagination