我在0
到total
之间循环一个数字。问题是,它需要从currentIndex
进行创建,并且total
我需要从currentIndex
但不小于0
来分配值的方式不应该更多。{ / p>
我试过但没什么好用的。 这是我的尝试:
var total = 6;
var currentIndex = 3;
var num = 0;
function add(amount) {
return num = (num + total - currentIndex + amount) % total + 1
}
$('a').click(function(e){
var num = e.target.className == 'prev' ? -1 : 1;
var result = add(num)+currentIndex;
console.log(result);
});
答案 0 :(得分:1)
你需要更简单地思考,但是你走在了正确的轨道上:
var total = 6;
var currentIndex = 3;
var num = 0;
function add(amount) {
currentIndex=((currentIndex+amount%total)+total)%total;
}
$('a').click(function(e){
var num = e.target.className == 'prev' ? -1 : 1;
add(num);
console.log(currentIndex);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="prev">Prev</a> <a href="#" class="next">Next</a>
&#13;
这将在0和5之间循环。