Javascript 十进制计数器

Javascript 十进制计数器,javascript,html,counter,Javascript,Html,Counter,我想用纯JavaScript构建一个十进制计数器。我不知道为什么函数不想工作,从0.0计数到5.1。我假设这个问题与Math.round有关——也许它的定义是错误的 HTML: 5.1 JS: var numbers=document.getElementById('values').innerHTML; var i=0; 函数countUp(){ setTimeout(函数(){ document.getElementById('counter').innerHTML=i; 这个.i(数学轮

我想用纯JavaScript构建一个十进制计数器。我不知道为什么函数不想工作,从0.0计数到5.1。我假设这个问题与Math.round有关——也许它的定义是错误的

HTML:

5.1
JS:

var numbers=document.getElementById('values').innerHTML;
var i=0;
函数countUp(){
setTimeout(函数(){
document.getElementById('counter').innerHTML=i;
这个.i(数学轮(现在是*10)/10);
i++;
如果(i您可以使用
Number#toFixed
来去除不需要的浮点数

函数倒计时(){
var numbers=document.getElementById('values').innerHTML,
i=0,
间隔=设置间隔(函数(){
i=+(i+0.1).toFixed(1);
document.getElementById('counter').innerHTML=i;
如果(i>=+个数){
间隔时间;
}          
}, 100);
}
countUp();
5.1
您可以使用
Number#toFixed
去除不需要的浮点数

函数倒计时(){
var numbers=document.getElementById('values').innerHTML,
i=0,
间隔=设置间隔(函数(){
i=+(i+0.1).toFixed(1);
document.getElementById('counter').innerHTML=i;
如果(i>=+个数){
间隔时间;
}          
}, 100);
}
countUp();
5.1

您能更详细地描述一下什么不起作用吗?您是否在错误控制台中看到任何消息?
i
不是一个函数……但您试图将其称为one@PatrickEvans那么我如何改变它呢?就像这样。(Math.round(现在*10)/10);?@petlet
i=(Math.round(现在*10)/10)
??您能更详细地描述一下什么不起作用吗?您在错误控制台中看到任何消息了吗?
i
不是一个函数……但您试图将其称为one@PatrickEvans那么我该如何改变它呢?就像这样。(Math.round(现在*10)/10);?@petlet
i=(Math.round(现在*10)/10);
???
<span id="values">5.1</span>
<span id="counter"></span>
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();