我正在做这个番茄钟,当我达到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语句,还有其他方法可以实现这一点。
答案 0 :(得分:1)
为什么不使用count
来计算偏移?
$("svg linearGradient stop").attr("offset", 100 - (100 / 60 * count) + "%");