我正在使用Mobify轮播。我想把它做成无限滑块。为此,我将 JS 代码更改为
if (newIndex < 1) {
newIndex = length;
} else if (newIndex > this._length) {
newIndex = 1;
}
但是当我到达最后一张图片时,点击下一步它会从右到左转到第一张图片。我想让最后一张图片从左到右,第一张图片从右到左。它作为一个无限循环工作
我正在使用Mobify轮播。我想把它做成无限滑块。为此,我将 JS 代码更改为
if (newIndex < 1) {
newIndex = length;
} else if (newIndex > this._length) {
newIndex = 1;
}
但是当我到达最后一张图片时,点击下一步它会从右到左转到第一张图片。我想让最后一张图片从左到右,第一张图片从右到左。它作为一个无限循环工作
我已经为您解决了这个问题,我将向您展示我的测试用例......然后我将向您展示我为您调整它所做的工作。
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。
根据您的问题,这可能是次要问题。