如何让我的计数器停在指定的位置?

时间:2017-06-06 19:51:48

标签: jquery

我已经构建了一个计数器,它上升了一个数字,但我希望它在到达定义的点(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);
}

谢谢你们

2 个答案:

答案 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)