jQuery越来越多的帮助

时间:2009-12-07 11:35:37

标签: jquery

Hay家伙,我不知道是否有插件。

但我想做的是编写似乎“成长”或“添加”的东西。

所以它从

开始

0000.00

然后

增长到设定值(即9000.00)

所以它是0000.00,0000.01,0000.02,0000.03 ... 8999.98,8999.99,9000.00

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我认为你的意思是你希望这个数字随着它的增长而显示出来?

这是一个不需要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”的元素在增长时显示该值。

答案 1 :(得分:1)

试试这个:

$.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();

答案 2 :(得分:0)

假设你的HTML是这样的:

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

你的javascript看起来像:

var n = 0;
setInterval( function() { 
   n += 0.01;
   $('.number').html(n);
}, SLEEP_TIME_BEFORE_CHANGING_NUMBER_IN_MILLISECONDS);