$(".page").append(preLi);
var count = (data.count / 10);
var allcount;
if (count > 0 && count < 1) {
allcount = 1;
} else {
allcount = parseInt(count) + 1
}
//遍历显示页码
for (var c = 1; c <= allcount; c++) {
var li;
if (i === pageNo) {
li = $('<a id="' + c + 'num" class="num" href="javascript:void(0)">' + c + '</a>');
$(".page").append(li);
} else {
li = $('<a id="' + c + 'num" class="num" href="javascript:void(0)" onclick="skipPage(' + c + ')">' + c + '</a>');
$(".page").append(li);
}
}
45条数据,分页显示下方只显示了2页,应该是5页,问题出在哪里没找出出来
这是因为以下代码错误:
var count = (data.count / 10);
您的数据总数是45条,如果每页显示10条,则总共应该有5页。但是,当您在上面的代码中除以10时,结果是4.5。因此,您应该在算出总页数之前对结果进行向上取整,如下所示:
var count = Math.ceil(data.count / 10);
同时,请注意,您的代码在最后计算出所需页数之后仍然可能出现问题:
if (count > 0 && count < 1) {
allcount = 1;
} else {
allcount = parseInt(count) + 1
}
如果总数为0,则count为0,而这种情况不会在代码中被正确处理,因为在代码中使用的是>0和<1,而不是==0。因此,请将该代码替换为:
allcount = count > 0 ? count : 1;