我卡住了。我正在尝试让 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/