Javascript 计数到高数值的持续时间

Javascript 计数到高数值的持续时间,javascript,jquery,html,counter,Javascript,Jquery,Html,Counter,我试图将计数器的持续时间设置为慢速,但代码中没有设置大的持续时间数字,例如: duration: 99999; 最初我将计数器设置为一个较低的数字,但计数将达到1000000,00,但我希望能够控制计数的速度 下面是我目前如何设置它的 <div class="counter" data-count="1000000">0</div> 我是这方面的大三学生,所以如果有其他建议,我将不胜感激 谢谢如果您想设置计数的速度,您可以尝试设置持续时间(以毫秒为单位)以匹配coun

我试图将计数器的持续时间设置为慢速,但代码中没有设置大的持续时间数字,例如:

duration: 99999;
最初我将计数器设置为一个较低的数字,但计数将达到1000000,00,但我希望能够控制计数的速度

下面是我目前如何设置它的

<div class="counter" data-count="1000000">0</div>
我是这方面的大三学生,所以如果有其他建议,我将不胜感激


谢谢

如果您想设置计数的速度,您可以尝试设置持续时间(以毫秒为单位)以匹配
countTo
值。例如,如果希望每秒增加一次,请执行:
duration:parseInt(countTo)*1000

$('.counter')。每个(函数(){
变量$this=$(this),
countTo=$this.attr('data-count');
$({
countNum:$this.text()
}).制作动画({
countNum:countTo
}, {
持续时间:parseInt(countTo)*1000,
“线性”,
步骤:函数(){
$this.text(Math.floor(this.countNum));
},
完成:函数(){
//确保最终值已正确更新
//…尤其是在使用非常短的持续时间时
$this.text(this.countNum);
}
});
});


0
太棒了!非常感谢!:)@dcmagpies只需记住,即使可以将持续时间设置为一个非常小的值,最终结果也可能不准确。您需要使用
complete:function(){…}
手动设置最终值。
$('.counter').each(function() {
var $this = $(this),
  countTo = $this.attr('data-count');

$({ countNum: $this.text()}).animate({
countNum: countTo
},

{

duration: 99999,
easing:'linear',
step: function() {
  $this.text(Math.floor(this.countNum));
}
});  
});