$('.dataStatistics').dataStatistics({min: shit, max: count, time: count/10*3000, len: 2});这个方法不能重复执行,重复执行的话,中途数字会乱掉
把他的插件改了三处地方,可以实现第一处,多了一个属性
options = $.extend({
min: 100,//初始数值
max: 150,//最大数字
time: 60000,//时长
len: 6,//数字是几位数
occurCount:1 //1表示第一次加载,其他数字则表示不是第一次加载
},第二处,第一次加载的时候才追加数字,不是第一次就不用加载数字:
ths.find('.digit_set').each(function() {
for (i = 0; i <= 9; i++) {
$(this).append(html);
if (options.occurCount == 1) {
currentDigit = $(this).find('.digit')[i];
$(currentDigit).find('.digit_wrap').append(i);
}
}
});第三处,把第一次执行后的其他class都删除: //初始化数值填入
$.each(nowNums,
function(index, val) {
var set = ths.find('.digit_set').eq(index);
var i = parseInt(val);
if (options.occurCount != 1) {
set.find('.digit').removeClass('active').removeClass('previous');
}
set.find('.digit').eq(i).addClass('active');
set.find('.digit').eq(i + 1).addClass('previous');
});这样即可,不知道还有没有更好的方法
先定义个初始化函数,初始化加载一个数值,
dataStatisticsinit(初始值,几位数)$.fn.dataStatisticsinit = function(options){
options = $.extend({
min : 100, //初始数值
len:6 //数字是几位数
},options || {});
然后,再改之前的js代码,变成增加多少,然后变化,
dataStatistics(add,time,len),即在time内增加了多少值$.fn.dataStatistics = function(options){
options = $.extend({
add : 3,//增长的值
time : 10000, //时长
len:6 //数字是几位数
},options || {});大概方法就是这样,先初始化调用dataStatisticsinit(),然后再调用更新函数dataStatistics(),最后在更新在前台。 function update(){
$.getJSON("number.php", function(data) {
$('.dataStatistics').dataStatistics({add:data,len:6});
})
}
setInterval(update, 10000);亲测可行,效果棒棒的