我尝试将变量valuem的值从0增加到10,如果valuem的值是10,则应减小直到值是0,然后再次增加直到10,依此类推。

例如:0 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 0 1 2 ...

最简单,最有效的方法是什么?

var valuem = 0;
$('#number').text(valuem);

function count() {
    valuem++;
    $('#number').text(valuem);

    if (valuem == 10) {
        valuem--;
        $('#number').text(valuem);
    }

}

setInterval(count, 1000);

最佳答案

这条路:

var valuem = 0, dir = 1;
$('#number').text(valuem);

function count() {
  valuem += dir;
  $('#number').text(valuem);
  if (valuem < 1) dir = 1;
  if (valuem > 9) dir = -1;
}

setInterval(count, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="number"></div>


您必须将计数方向存储为状态的一部分,而不是当前数字,以便知道valuem在1到9之间时应朝哪个方向计数。

关于javascript - 增加值直到限制然后减小循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36823238/

10-09 10:15