2013-07-25 2 views
0

Я пытаюсь заставить переменную JS колебаться между двумя значениями с течением времени.Значение переменной JavaScript для колебания между двумя значениями

Например, предположим, что мы начинаем с var counter = 0, и каждую секунду эта переменная увеличивается на единицу.

Как я могу сделать это так, чтобы в counter == 3 значение уменьшилось на единицу до counter == -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/

+0

очень аккуратным. Спасибо! – bravokiloecho

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; 
    } 
} 
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--; 
    } 
} 
Смежные вопросы