jQuery растет число помощи - PullRequest
       16

jQuery растет число помощи

0 голосов
/ 07 декабря 2009

Эй, ребята, я не знаю, есть ли плагин для этого.

Но то, что я хочу сделать, это написать что-то, что выглядит как «растущий» или «добавляющий».

Так что начинается с

0000,00

затем возрастает до установленного значения (т. Е. 9000.00)

так что 0000.00, 0000.01, 0000.02, 0000.03 ... 8999.98,8999.99, 9000.00

Есть идеи?

Ответы [ 3 ]

1 голос
/ 07 декабря 2009

Попробуйте это:

$.fn.ticker = function(options) {
    var o = $.extend({
        start: 0,
        max: 9000,
        step: .01,
        refreshRate: 50
    }, options);
    return this.each(function() {
        var elem = $(this);
        var decimals = o.step.toString().replace(/.*\./,'').length;
        var interval = window.setInterval(function() {
            elem.html(o.start.toFixed(decimals));
            o.start += o.step;
            if (o.start > o.max) {
                window.clearInterval(interval);
            }
        }, o.refreshRate);
    })
}

$('div').ticker();
1 голос
/ 07 декабря 2009

Полагаю, вы хотите, чтобы это число отображалось по мере его роста?

Вот решение, которое не требует jQuery:

var   start = 0
    , max = 9000
    , step = .01
    , refreshRate = 50 // ms
    , number = start
    , el = document.getElementById('displayField')
    , growNumber = function() {
        number += step;
        el.innerHTML = number; // you might want to format it to your liking here
        if (number >= max) {
            clearInterval(timerId);
        }
      }
    , timerId = setInterval(growNumber, refreshRate)
;
growNumber();

Это заставит элемент с id = "displayField" показывать значение по мере его роста.

0 голосов
/ 07 декабря 2009

Предположим, ваш HTML выглядит следующим образом:

<div class="number"></div>

Ваш javascript будет выглядеть так:

var n = 0;
setInterval( function() { 
   n += 0.01;
   $('.number').html(n);
}, SLEEP_TIME_BEFORE_CHANGING_NUMBER_IN_MILLISECONDS);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...