jquery - Jquery中的随机数效果

标签 jquery html css animation

我卡住了。我正在尝试让 jquery 在页面加载时使用数字生成动画。因此,数字 5 会在 0 - 9 之间切换,直到分配的时间结束,或者如果我有 50 个,则 5 会经过 0 - 9,而 0 也会经过 0 - 9。

感谢大家的回答和建议。

最佳答案

我很无聊。 <强> Here :

(function($){
    $.fn.extend({
        numAnim: function(options) {
            if ( ! this.length)
                return false;

            this.defaults = {
                endAt: 2560,
                numClass: 'autogen-num',
                duration: 5,   // seconds
                interval: 90  // ms
            };
            var settings = $.extend({}, this.defaults, options);

            var $num = $('<span/>', {
                'class': settings.numClass 
            });

            return this.each(function() {
                var $this = $(this);

                // Wrap each number in a tag.
                var frag = document.createDocumentFragment(),
                    numLen = settings.endAt.toString().length;
                for (x = 0; x < numLen; x++) {
                    var rand_num = Math.floor( Math.random() * 10 );
                    frag.appendChild( $num.clone().text(rand_num)[0] )
                }
                $this.empty().append(frag);

                var get_next_num = function(num) {
                    ++num;
                    if (num > 9) return 0;
                    return num;
                };

                // Iterate each number.
                $this.find('.' + settings.numClass).each(function() {
                    var $num = $(this),
                        num = parseInt( $num.text() );

                    var interval = setInterval( function() {
                        num = get_next_num(num);
                        $num.text(num);
                    }, settings.interval);

                    setTimeout( function() {
                        clearInterval(interval);
                    }, settings.duration * 1000 - settings.interval);
                });

                setTimeout( function() {
                    $this.text( settings.endAt.toString() );
                }, settings.duration * 1000);
            });
        }
    });
})(jQuery);

测试 HTML:

<span id="number"></span>

用法:

$("#number").numAnim({
    endAt: 97855,
    duration: 3
});

关于jquery - Jquery中的随机数效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8363916/

相关文章:

php - 如何在不使用 Canvas 的情况下将整个 div 数据转换为图像并将其保存到目录中?

jQuery:将 div 包裹在 p 周围,而不是:div 内的第一个元素

jquery - 可编辑编辑而不会在编辑过程中丢失样式?

javascript - Materialise material_select is not a function 错误

html - 如何在鼠标移出时为右侧的下划线宽度设置动画?

javascript - 带有黑色禁用背景的 Bootstrap 模式显示

html - 带有::-moz-progress-bar css 的多类选择器

css - 如何使 svg 行响应

javascript - 拆分字符串并分配给字段

jquery - 使用 AJAX 获取发布数据