十进制计数器JavaScript

时间:2017-08-14 09:18:43

标签: javascript html counter

我想在纯JavaScript中构建一个十进制计数器。我不知道为什么函数不想工作并从0.0到5.1计数。我假设问题出在Math.round上 - 可能是以错误的方式定义的。

HTML:

<span id="values">5.1</span>
<span id="counter"></span>

JS:

var numbers = document.getElementById('values').innerHTML;
var i = 0;                    

function countUp () {           
   setTimeout(function () {    
      document.getElementById('counter').innerHTML = i;
      this.i(Math.round(now*10)/10);
      i++;                     
      if (i <= numbers) { 
         countUp();           
      }                       
   }, 5000)
}

countUp(); 

1 个答案:

答案 0 :(得分:0)

您可以使用Number#toFixed来消除不需要的浮点数。

&#13;
&#13;
function countUp () {
    var numbers = document.getElementById('values').innerHTML,
        i = 0,
        interval = setInterval(function () {
            i = +(i + 0.1).toFixed(1);
            document.getElementById('counter').innerHTML = i;
            if (i >= +numbers) { 
               clearInterval(interval );           
            }          
        }, 100);
}

countUp(); 
&#13;
<span id="values">5.1</span>
<span id="counter"></span>
&#13;
&#13;
&#13;