js数据分页显示不准确问题



 $(".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;