使用 .slice 分页选择太多项目

paginating using .slice selecting too many items

我想创建一个自动寻呼机,我可以使用 url 中的参数进行配置。如果我对 perTime 变量进行硬编码,它就可以工作。 当我使用 URL 中的参数时,页面开始表现得很奇怪。

你可以看到这里发生了什么: http://risevision.syntra-limburg.be/ClassSchedule.aspx?Campus=genk&no_of_items=3&width=300&height=300

我想每页显示 3 个项目。这适用于前 2 页。 在第三页,它每页显示了更多的项目。

有人知道发生了什么事吗?我该如何解决这个问题?

$.urlParam = function (name) {
  var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
  if (results == null) {
    return null;
  }
  else {
    return results[1] || 0;
  }
}
$(document).ready(function () {
  $(".placeholder").width($.urlParam('width')).height($.urlParam('height'))
  var perTime = $.urlParam('no_of_items');
var $divSlide = $('.item');
var currentCnt = 0;
$divSlide.hide().slice(currentCnt, currentCnt + perTime).show();
var panelCnt = $divSlide.length;
setInterval(function () {
  $divSlide.slice((currentCnt % panelCnt), (currentCnt % panelCnt) + perTime).fadeOut("1600", function () {
    $divSlide.eq((currentCnt + perTime) % panelCnt).fadeIn("1000");
    currentCnt++;
    console.log(perTime);
  });
}, 3000);
});

只是猜测,我会尝试解析 $.urlParam('no_of_items');:

var perTime = parseInt($.urlParam('no_of_items'));

因为 perTime 在您当前的实现中是一个字符串。我不确定 slice 有多喜欢...