jQuery的计数数目最多(jQuery Count Numbers Up)

2019-10-18 03:06发布

我没有任何擅长的JavaScript,但我很想有一个可爱的小动画向上计数的数字。 我发现这个在Github上,但它的方式放缓。 (我数了10位小数的数字)。 任何人有关于如何修改它的任何提示,所以它计算更快? (我试图降低数据间隔,但它在“0”之类的停滞。

<p class="counter" data-interval="0" data-format="999999" data-stop="193847"></p>

Answer 1:

我找到了完美的解决方案:

https://github.com/mhuggins/jquery-countTo



Answer 2:

比方说,你想在5秒内数达到20万。

这将是40000个增量60,000毫秒的第二或40,000,这将是的每次迭代1.5毫秒的间隔。

最有可能你正在使用不会任何浏览器能够处理那种区间。 最好的方式做,这可能会决定你想多快就数到您的最终价值,改变步骤,你可以给出一个更健全的间隔时间正确的量到达那里。

例如,假设5000毫秒就是你要多长时间把和你希望你的时间间隔为20毫秒。

因为你有二十零分之五千或250步。 你将不得不通过二百五分之二十○万或800来算让你终止值在5秒内。



Answer 3:

这将帮助你和过于简单,你可以通过改变时间改变速度改变通过改变计数器 起始编号 :0

 $('.count').each(function () { var $this = $(this); jQuery({ Counter: 0 }).animate({ Counter: $this.attr('data-stop') }, { duration: 1000, easing: 'swing', step: function (now) { $this.text(Math.ceil(now)); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span class="count" data-stop="193847">193847</span> <br/> <span class="count" data-stop="190">190</span> <br/> <span class="count" data-stop="1938">1938</span> 



Answer 4:

你并不需要一个jQuery插件,只需使用.animate:

jQuery('.counter').each(function(){
  var $elm = this;
  var from = {property: 0};
  var to = {property: $elm.data('stop')};
  var duration = $elm.data('duration');

  jQuery(from).animate(to, {
      duration: duration,
      step: function() {
          $elm.html(this.property);
      }
  });
});

提示:您可以通过设置jQuery.fx.interval优化jQuery的帧率,默认为13(毫秒)。

更多的例子: http://james.padolsey.com/javascript/fun-with-jquerys-animate/



Answer 5:

从您发布的插件,似乎有一个名为间隔的选项。 默认值是1000毫秒,所以尝试它计算速度更快减少它。

类似的东西应该做的伎俩:

<span></span>

<script>
$('span').addClass('counter counter-analog')
         .counter({
   // several options here
    interval: 1,
    });

</script>

希望能帮助到你!



Answer 6:

如果有人想增加一定的增量计数器再使用,

// HTML

<span class="stat-count">10000</span>

// JS

$(function() {
    function count($this){
        var current = parseInt($this.html(), 10);
        current = current + 50; /* Where 50 is increment */

    $this.html(++current);
    if(current > $this.data('count')){
        $this.html($this.data('count'));
    } else {    
        setTimeout(function(){count($this)}, 5);
    }
}        

$(".stat-count").each(function() {
  $(this).data('count', parseInt($(this).html(), 10));
  $(this).html('0');
  count($(this));
 });

});

jQuery的指望页面加载数字与某些限制,计时,计数增量。



文章来源: jQuery Count Numbers Up