如何在总数内增加或减少当前指数

时间:2015-06-13 19:15:19

标签: javascript jquery

我在0total之间循环一个数字。问题是,它需要从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);
});

Jsfiddle

1 个答案:

答案 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;
&#13;
&#13;

这将在0和5之间循环。