当计数减少重复次数时,如果状态,则更改值

时间:2017-10-24 14:38:53

标签: javascript html css

我正在做这个番茄钟,当我达到59秒时,我需要改变时钟背景的渐变。

这是要改变的值,59秒为1.7%,58秒为3.4%,所以......

$("svg linearGradient stop").attr("offset","50%");

我知道我可以写一个if语句或一个switch case

    var count = $("#counter2").html();
//target svg on click
  $("svg").click(function(){

  var counter = setInterval(timer,1000);

    function timer(){
      count-=1;//count decreases

      //this code does work and it does change the gradient.

      if(count==59) $("svg linearGradient stop").attr("offset","1.67%");
      //.....
      if(count==30) $("svg linearGradient stop").attr("offset","51%");

      $("#time").text(count);
    });

如果没有编写59次if语句,还有其他方法可以实现这一点。

1 个答案:

答案 0 :(得分:1)

为什么不使用count来计算偏移?

$("svg linearGradient stop").attr("offset", 100 - (100 / 60 * count) + "%");