数组长度if语句?

时间:2014-02-14 03:16:31

标签: javascript

我在JS中制作了一个简单的Image滑块用于练习,但由于某种原因,变量Amount等于3,它应该是,我通过打印3来测试,但对于我的if语句,我必须除以2为第一个(这使它工作((函数next())),但是如果我除以2或单独执行Amount(back()函数),则第二个它不起作用

我不知道为什么这样做,请有人解释一下吗? 谢谢!

var Images = ["http://www.industus.com/test/wat1.png", "http://www.industus.com/test/wat2.png", "http://www.industus.com/test/wat3.png"];
var CurrentImage = -1;
var Amount = Images.length;
function next() {
  if (CurrentImage <= Amount /2) {
    CurrentImage = CurrentImage + 1;
    document.getElementById("Picture").src = Images[CurrentImage];
  }
}
function back() {
  if (CurrentImage >= Amount /2) {
    CurrentImage = CurrentImage - 1;
    document.getElementById("Picture").src = Images[CurrentImage];
  }
}

1 个答案:

答案 0 :(得分:1)

对于今后,您要测试索引是否小于最大有效索引,而Amount - 1

CurrentImage < (Amount-1)

为了倒退,您要测试索引是否大于最小有效索引,即0

 CurrentImage > 0