0

我试图让一个 JS 变量随着时间的推移在两个值之间波动。

例如,假设我们从 开始var counter = 0,并且每秒这个变量增加 1。

我将如何使counter == 3值减少 1 直到counter == -3,此时它再次增加直到 3 然后再次下降,依此类推。

提前感谢您的帮助!

4

3 回答 3

1

你可以这样做:

var counter = 0;
var inc = +1;
setInterval(function(){
    if(counter == 3) inc = -1;
    if(counter == -3) inc = +1;
    counter+= inc;
}, 1000);

请参阅此示例:http: //jsfiddle.net/VQFLd/3/

于 2013-07-25T16:19:28.517 回答
0

就像是:

var increment = 1;
var counter = 0;
for (var i = 0; i < 100; i += 1) {
    counter += increment;
    console.log(counter);
    if (counter === 3) {
        increment = -1;
    } else if (counter === -3) {
        increment = 1;
    }
}
于 2013-07-25T16:11:30.203 回答
0

你可以试试这个

var currentNumber = 0;
var increase = true;

setInterval(function (){changeValues(-3,3);},1000);

function changeValues(minimum,maximum){
    if(increase){
        if(currentNumber == (maximum-1))
        increase = false;
        currentNumber++;
    }else{
        if(currentNumber == (minimum+1))
        increase = true;
        currentNumber--;
    }
}
于 2013-07-25T16:18:19.717 回答