我一直在努力解决这个问题,似乎无法解决这个问题 我有点不确定是什么问题 - 我最初没有写过代码。
下面的代码是为了显示每页20个结果 - 这是正常的。 然而,总有一个额外的页码超过那里 应该。因此,如果应该有页码1到5 - 有页码 一到六,第六页没有结果。如果有的话,它可以正常工作 少于20个结果 - 只是在出现问题的多个页面时。
以下是代码:
<script>
var js_array = <?php print json_encode($array);?> ;
//alert(1);
//alert(js_array[0]);
for (i=0; i<20; i++)
{
//alert(js_array[i]);
$('#canvas').append(js_array[i]);
}
var end = document.createElement('div');
end.innerHTML = '<b><?php echo $pagewords; ?></b> ';
//alert(js_array.length/15);
var pages = Math.min(Math.round(js_array.length/15), 10);
for (i=1; i<pages; i++)
{
var span = document.createElement('span');
$(span).attr('id', 'span');
$(span).css('cursor','pointer');
span.innerHTML = i;
$(end).append(span);
$(end).append(' ');
}
$(end).addClass("<?php echo $pageclass; ?>");
$('#main').append(end);
$('span').click(function(){
//alert($(this).html());
var page = $(this).html();
//alert(page);
$('#canvas').empty();
if (page==0)
{
for (i=0; i<20; i++)
{
//alert(js_array[i]);
$('#canvas').append(js_array[i]);
}
}
else
{
for (i=page*20-20; i<page*20; i++)
{
//alert(js_array[i]);
$('#canvas').append(js_array[i]);
}
}
});
任何人都可以看到上述逻辑的问题。
提前感谢您的帮助!
答案 0 :(得分:0)
从代码中的这一行开始,您可以根据每页15个结果来计算您的分页
var pages = Math.min(Math.round(js_array.length/15), 10);
答案 1 :(得分:0)
你必须围捕:
var pages = Math.ceil(js_array.length/20);
如果你有&lt; 这将给你至少1页20项。
Math.min将强制最多10页。也许你想保留它,但是对于页数,只需使用ceil。