我很尴尬地问这个问题这么简单,但我无法弄清楚,从学校开始已经有一段时间了。
这是javascript,但问题实际上是一个数学问题。除了jquery,我正在做一个没有库的图库。基本上找到下一个图像并将其显示出来。
这是sorta sudo代码
var array = ["image1", "image2" ,"image 3"];
var currentImage = 0;
var imageMax = 3;
function next(){
currentImage = (currentImage + 1)%imageMax;
}
//the next I got but the prev i can't figure it out
function pref(){
currentImage = (currentImage -1)%imageMax; //??? i dont know
}
所以,如果我在第一张图片0,当我点击上一张时,我想要在索引2
next
应该012012012012…
prev
应循环0210210210210…
答案 0 :(得分:7)
你可以说:
currentImage = (imageMax + currentImage - 1) % imageMax;
在执行模数运算符之前添加imageMax会处理在减去1之后imageMax将小于零的情况。