Javascript setInterval()计时是。。。关
我对此感到困惑。。。但我的setInterval()行过于复杂的系统似乎有点不对劲。也许时间安排是为了赶上进度?只是有点奇怪,我不知道为什么Javascript setInterval()计时是。。。关,javascript,html,Javascript,Html,我对此感到困惑。。。但我的setInterval()行过于复杂的系统似乎有点不对劲。也许时间安排是为了赶上进度?只是有点奇怪,我不知道为什么 就css而言,上面的JSFIDLE看起来有点不对劲,但我认为这只是JSFIDLE本身。当我在GoogleChrome中以一个文档的形式运行它时,它看起来很好(而且我只是让它在GoogleChrome中运行)。这是一个一次性的应用程序,在我自己的计算机上使用,一次,作为筹款人温度计。所以只需注意数字和javascript。我只是想让数字看起来更平滑。我曾考
就css而言,上面的JSFIDLE看起来有点不对劲,但我认为这只是JSFIDLE本身。当我在GoogleChrome中以一个文档的形式运行它时,它看起来很好(而且我只是让它在GoogleChrome中运行)。这是一个一次性的应用程序,在我自己的计算机上使用,一次,作为筹款人温度计。所以只需注意数字和javascript。我只是想让数字看起来更平滑。我曾考虑过使用百分比(.90*raised),但它们的效果几乎相同。我的时间和速度怎么了?此外,顶部的按钮仅用于调试目的。它们不会出现在程序的最终草稿中。您正在多次设置
setInterval
,并且每2秒重复一次。在接下来的2秒之后,您将创建另一个setInterval
逻辑部分,因此它将运行doublesetInterval
函数。如果您希望在保存间隔中更改数字,请使用singlesetTimout
函数。我使用的是多个setInterval(),但在下一个setInterval()开始之前清除每个setInterval并启动一个新的setInterval(),对吗?我不太明白。@Dr3amTw1st您正在清除内部设置间隔
,但外部检查
间隔会重复。并检查是否确实清除了迄今为止设置的所有间隔。最好在函数开始时将它们全部清除。
var number=0; // Do not change!
var key1=true, key2=false, key3=false, key4=false, key5=false; // Do not change!
var key6=false, key7=false, key8=false, key9=false; // Do not change!
var climbSpeed=2000; // Climbing speed in milliseconds. Don't change unless you REALLY know what you're doing.
var raised=100; // The amount raised so far. Able to be changed.
var goal=250; // The goal, obviously... :P Able to be changed.
var c1=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
var c2, c3, c4, c5, c6, c7, c8, c9, c10;
var check=setInterval(
function() {
if (number>0 && key1==true) {
key1=false;
clearInterval(c1);
climbSpeed=1500;
c2=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key2=true;
}
if (number>3 && key2==true) {
key2=false;
clearInterval(c2);
climbSpeed=700;
c3=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key3=true;
}
if (number>9 && key3==true) {
key3=false;
clearInterval(c3);
climbSpeed=200;
c4=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key4=true;
}
if (number>(.15*raised) && key4==true) {
key4=false;
clearInterval(c4);
climbSpeed=100;
c5=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key5=true;
}
if (number>(.20*raised) && key5==true) {
key5=false;
clearInterval(c5);
climbSpeed=90;
c6=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key6=true;
}
if (number>(.30*raised) && key6==true) {
key6=false;
clearInterval(c6);
climbSpeed=110;
c7=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key7=true;
}
if (number>(raised-20) && key7==true) {
key7=false;
clearInterval(c7);
climbSpeed=500;
c8=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key8=true;
}
if (number>(raised-11) && key8==true) {
key8=false;
clearInterval(c8);
climbSpeed=650;
c9=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
key9=true;
}
if (number>=(raised-10) && key9==true) {
key9=false;
clearInterval(c9);
climbSpeed=900;
c10=setInterval(function(){document.getElementById("amount").innerHTML="$"+number++;},climbSpeed);
}
if (number>raised) {
clearInterval(c10);
document.getElementById("amount").style.color="red";
//document.getElementById("amount").style.fontSize="250px";
}
},climbSpeed);
function stop() {
alert("climbSpeed: " + climbSpeed + "\n" + "number: " + number + "\n" + "raised: " + raised);
//clearInterval(c1);
//clearInterval(c2);
//clearInterval(c3);
//clearInterval(c4);
//clearInterval(c5);
//clearInterval(c6);
//clearInterval(c7);
//clearInterval(c8);
//clearInterval(c9);
//clearInterval(c10);
}