我试图将计数器的持续时间设置为较慢,而没有在代码中设置较大的持续时间,例如:
duration: 99999;
最初,我将计数器设置为一个较低的数字,但计数达到1,000,000,00,但是我希望能够控制此计数的速度。
这是我目前的设置方式。
<div class="counter" data-count="1000000">0</div>
而我的JS如下:
$('.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));
}
});
});
我是一名初中生,因此其他建议将不胜感激。
谢谢
如果要设置计数的速度,可以尝试设置持续时间(以毫秒为单位)以匹配该countTo
值。例如,如果您希望每秒增加一次,请执行:duration: parseInt(countTo)*1000
。
$('.counter').each(function() {
var $this = $(this),
countTo = $this.attr('data-count');
$({
countNum: $this.text()
}).animate({
countNum: countTo
}, {
duration: parseInt(countTo) * 1000,
easing: 'linear',
step: function() {
$this.text(Math.floor(this.countNum));
},
complete: function() {
// Ensure that the final value is updated correctly
// ... especially when using very short durations
$this.text(this.countNum);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="counter" data-count="1000000">0</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句