素敵なjqueryインクリメントスクリプトを見つけました。増分部分は、関数またはハミング数のみを受け入れることができます。1から100までの乱数で増加させたいと思っています。このための関数をどのように記述しますか?
$( document ).ready( function()
{
$( '.tick' ).ticker(
{
incremental : 1,
delay : 1500,
separators : true
});
$(".comma-change").html(".");
});
<span class="tick">2,354,456</span>
そこで、インクリメンタルフィールドを1増やすのではなく、乱数で更新する関数を作成したいと思います。他の投稿の助けを借りて、私は問題なく乱数を作成する関数を書くことができます:
function random_generator (min, max) {
return Math.random() * (max - min) + min;
}
しかし、私はこれに直接取り組むのに苦労しています。
プラグインの増分部分は次のとおりです。
Tick = (function() {
function Tick(element, options) {
this.element = element;
if (options == null) options = {};
this.running = false;
this.options = {
delay: options.delay || 1000,
separators: options.separators != null ? options.separators : false,
autostart: options.autostart != null ? options.autostart : true
};
this.increment = this.build_increment_callback(options.incremental);
this.value = Number(this.element.html().replace(/[^\d.]/g, ''));
this.separators = this.element.html().trim().split(/[\d]/i);
this.element.addClass('tick-active');
if (this.options.autostart) this.start();
}
Tick.prototype.build_increment_callback = function(option) {
if ((option != null) && {}.toString.call(option) === '[object Function]') {
return option;
} else if (typeof option === 'number') {
return function(val) {
return val + option;
};
} else {
return function(val) {
return val + 1;
};
}
};
そしてこのビット:
Tick.prototype.tick = function() {
this.value = this.increment(this.value);
this.render();
return this.set_timer();
};