2016-03-10 4 views
1

Таким образом, я использовал этот счетчик для подсчета на определенный номер:Счетчик с разделителем

(function($) { 
    $.fn.countTo = function(options) { 
     // merge the default plugin settings with the custom options 
     options = $.extend({}, $.fn.countTo.defaults, options || {}); 

     // how many times to update the value, and how much to increment the value on each update 
     var loops = Math.ceil(options.speed/options.refreshInterval), 
      increment = (options.to - options.from)/loops; 

     return $(this).each(function() { 
      var _this = this, 
       loopCount = 0, 
       value = options.from, 
       interval = setInterval(updateTimer, options.refreshInterval); 

      function updateTimer() { 
       value += increment; 
       loopCount++; 
       $(_this).html(value.toFixed(options.decimals)); 

       if (typeof(options.onUpdate) == 'function') { 
        options.onUpdate.call(_this, value); 
       } 

       if (loopCount >= loops) { 
        clearInterval(interval); 
        value = options.to; 

        if (typeof(options.onComplete) == 'function') { 
         options.onComplete.call(_this, value); 
        } 
       } 
      } 
     }); 
    }; 

    $.fn.countTo.defaults = { 
     from: 0, // the number the element should start at 
     to: 100, // the number the element should end at 
     speed: 1000, // how long it should take to count between the target numbers 
     refreshInterval: 100, // how often the element should be updated 
     decimals: 0, // the number of decimal places to show 
     onUpdate: null, // callback method for every time the element is updated, 
     onComplete: null, // callback method for when the element finishes updating 
    }; 
})(jQuery); 

jQuery(function($) { 
     $('.timer').countTo({ 
      from: 50, 
      to: 2500, 
      speed: 5000, 
      refreshInterval: 50, 
      onComplete: function(value) { 
       console.debug(this); 
      } 
     }); 
    }); 

http://jsfiddle.net/YWn9t/

Но, к сожалению, нет разделителей (точек) между каждым третьим номерами. Подводя итог: как сделать вывод скрипта, например, 1000000 до 1.000.000?

Я ценю каждый ответ

+1

Возможный дубликат [Как напечатать число с запятыми в качестве разделителей тысяч в JavaScript] (http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas- as-thousand-separators-in-javascript) – Wowsk

ответ

1

Я рекомендую использовать numberFormatter.

console.log(new Intl.NumberFormat().format(123456)); 
+1

Предостережение: это не поддерживается в IE <11, и оно не поддерживается в Safari. Не уверен, что это влияет на @manuel. –

+0

Если ваш браузер не поддерживает Intl изначально, вы можете использовать полифонию [Intl.js] (https://github.com/andyearnshaw/Intl.js). – jkordas

Смежные вопросы