在某个值处停止javascript增量
我编写了这个小脚本,它每3.2秒递增一个给定值,在本例中为200在某个值处停止javascript增量,javascript,Javascript,我编写了这个小脚本,它每3.2秒递增一个给定值,在本例中为200 var i = 200; function increment() { i++; document.getElementById('generated').innerHTML = Number(i).toLocaleString('en'); } setInterval('increment()', 3200); 我试图让脚本在达到某个点时停止增加值(例如300)。我相信这是一个简单的解决办法,但我想不出该怎么做 您需要保存间隔
var i = 200;
function increment() {
i++;
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
setInterval('increment()', 3200);
我试图让脚本在达到某个点时停止增加值(例如300)。我相信这是一个简单的解决办法,但我想不出该怎么做 您需要保存间隔,然后将其清除:
var i = 200;
function increment() {
if (i == 300) {
// stop when it hits 300
window.clearInterval(id);
return;
}
i++;
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
var id = window.setInterval('increment()', 3200);
var i = 200;
function increment() {
if (i >= 300) {
clearInterval(interval);
return;
}
i++;
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
var interval = setInterval(increment, 3200);
请注意,您可以传递函数名,而不是使用“interval()”
字符串表示法
下面是一个例子(我已经加快了时间,这样就不用花很长时间来证明一个观点)
希望有帮助 您可以使用for循环
var i = 200;
var max = 300;
function increment() {
for (i < max; i++) {
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
}
setInterval('increment()', 3200);
var i=200;
var max=300;
函数增量(){
对于(i
这里有更多信息:查看
clearInterval
。var timer=setInterval(increment(),3200);并使用clearInterval(计时器)销毁计时器。如j08691所述,查看clearInterval
。此外,决不能将字符串传递给setInterval
。而不是直接作为参数传递函数:setInterval(增量,3200)代码>增量函数内的clearInterval(如果i>200)