我编写了这个小脚本,它将给定值(在本例中为200)每3.2秒增加1。
var i = 200;
function increment() {
i++;
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
setInterval('increment()', 3200);
我试图让脚本在达到某个点后停止增加值(比方说300)。我确定这是一个简单的修复,但我想不出如何解决这个问题。
答案 0 :(得分:3)
您需要保存间隔然后将其清除:
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()"
字符串表示法。
这是一个fiddle(我加快了时间,所以不需要永远证明这一点)
希望它有所帮助!
答案 1 :(得分:0)
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);
答案 2 :(得分:-1)
你可以使用for循环。
var i = 200;
var max = 300;
function increment() {
for (i < max; i++) {
document.getElementById('generated').innerHTML = Number(i).toLocaleString('en');
}
}
setInterval('increment()', 3200);