【发布时间】:2017-01-14 05:26:30
【问题描述】:
我正在尝试使用 javascript/jQuery 创建背景图像“滑块”。这个想法是单击一个锚点并分别向前或向后移动图像。我将文件名放在一个名为“images”的数组中。
它有效,但我不知道如何将最后一张图像恢复为第一张图像,反之亦然。在我的控制台中,它抛出了一个未定义的变量。这是我的代码:
var i = 0;
var arrayLength = images.length - 1;
currentImage(0); //show the first photo initially
function currentImage(i) {
$('#image').css("background-image", "url(img/" + images[i] + ")");
if ( i > arrayLength ) {
$('#image').css("background-image", "url(img/" + images[0] + ")");
i = 0;
return;
}
console.log(i);
}
$('#prev').click(function(){
i--;
currentImage(i);
});
$('#next').click(function(){
i++;
currentImage(i);
});
我尝试过使用“if (i = undefined) {i=0; console.log("works");}" 和 "if (i > arrayLength) {i=0; console.log("works ");}" 这两种方法都产生了成功的控制台日志,但两种方法似乎都没有重置 i。
我似乎无法在 SO 上找到类似的帖子,但也许我正在搜索错误的内容。任何帮助,或正确方向的一点都会很棒。谢谢!
【问题讨论】:
-
希望这有帮助 - jsfiddle.net/2fqpbg0w
标签: javascript jquery arrays reset