Home > Software design >  JavaScript Counter Variable Fluctuate Between Two Values
JavaScript Counter Variable Fluctuate Between Two Values

Time:11-05

I'm trying to fluctuate the variable "z" by 0.1 between the two ranges of 0 and 2 continuously. When it hits the max of 2, I want the variable "z" to decrement. And when it hits the min of 0, I want the variable "z" to increment. So far, all my code does is return the number 1.

NOTE: I'm also using doing this on canvas-sketch by github.com/mattdesl

let z = 1;
let count = 0.1;

setInterval(function(){
  if(z == 2) count *= -1;
  if(z == 0) count *=  1;
  return z  = count;
}, 1000);

console.log(z);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

CodePudding user response:

Try this:

let z = 1;
let increment = 0.1

setInterval(function(){
  if(z === 2) increment = -0.1;
  if(z === 0) increment = 0.1;
  z = Math.round((z   increment) * 10) / 10;

  console.log(z);
}, 1000);

The z line is pretty key here. Try it as just z = increment and you'll get JS rounding errors. So we just need to make sure that we clean the number to one decimal place after adding it.

  • Related