我已经构建了一个计数器,它上升了一个数字,但我希望它在到达定义的点(end_value)时停止,我不确定从哪里开始。
我的代码目前看起来像这样:
var increment = 1;
var start_value = 1;
var count = 0;
var end_value = 10;
window.onload = function(){
var interval_time = 1 * 1500;
count = parseInt (start_value);
document.getElementById('counter').innerHTML = count;
setInterval("count += increment; document.getElementById('counter').innerHTML = count;", interval_time);
}
谢谢你们
答案 0 :(得分:1)
您需要存储id
返回的setInterval
,并在clearInterval
时向count === end_value
的回调添加逻辑:
var increment = 1;
var start_value = 1;
var count = 0;
var end_value = 10;
window.onload = function() {
var interval_time = 1 * 1500;
count = parseInt(start_value);
document.getElementById('counter').innerHTML = count;
var id = setInterval(function() {
count += increment;
if (count === end_value) {
clearInterval(id);
}
document.getElementById('counter').innerHTML = count;
}, interval_time);
}
<div id="counter"></div>
答案 1 :(得分:0)
将您的间隔分配给变量。
var my_interval = setInterval(function(){}, interval_time);
运行循环或使用回调来清除间隔
clearInterval(my_interval)