0

我正在使用Mobify轮播。我想把它做成无限滑块。为此,我将 JS 代码更改为

if (newIndex < 1) {
    newIndex = length;
} else if (newIndex > this._length) { 
    newIndex = 1;
}

但是当我到达最后一张图片时,点击下一步它会从右到左转到第一张图片。我想让最后一张图片从左到右,第一张图片从右到左。它作为一个无限循环工作

4

1 回答 1

0

我已经为您解决了这个问题,我将向您展示我的测试用例......然后我将向您展示我为您调整它所做的工作。

var len = 6;
for (var i = 0; i < 100; i++){
  console.log("value:", Number(i%len));
}

这仅显示了一个循环,迭代大小为 6 的东西,并将其重置为 0,这是一个连续循环。同样,在另一个方向。

var len = 6;
for (var i = 100; i >= 0; i--){
  console.log("value:", Number(i%len));
}

所以你可以让mod继续工作。对于反向,-1 不会用 len 修改以循环回到最后,所以你可以说:

var len = this._length;
newIndex%=len;
if(newIndex < 0){
  newIndex = len;
}

如果 有问题len,则表示存在this._length您定义的问题。你需要确保你理解当有一个项目数组时,比如:6....它们的索引实际上是 0 到 5。

根据您的问题,这可能是次要问题。

于 2016-01-25T17:43:10.873 回答