我的问题是逻辑和javascript相关。
我的目标是为jquery counter提供同一个变量的两个状态,以便每隔x秒从开始状态增加到结束状态。
在循环结束时,我想让结束状态成为下一个开始状态,依此类推......
请注意,我从php文件中检索变量值。 (编辑)变量在函数外声明:
var $publishersCurvalue,
$minTime,
...
这是我的柜台。它每5秒刷新一次。结果,因为我只使用一个变量状态( $ publishersCurvalue ),它是从前一个状态跳转到新状态。
如何在每个周期同时获得前一个值和新值? 我已经尝试了几种技术,但到目前为止还没有运气。
我的目的是触发计数器读取两个不同值时发生的增量动画。
var $i = 0;
function publisherCounter() {
$.getJSON("counter.php?t=p", function(result) {
// defalut values
$minTime = result[0].minTime;
$max = result[0].max;
$curTime = result[0].curTime;
// current value
$publishersCurvalue = result[0].curValue;
// Publishers values
$publisherMinResult = result[0].min;
$publisherIncPerDay = result[0].incPerDay;
// frequency
$publisherIncPerDayResultTemp = parseInt((($curTime - $minTime)/86400) * $publisherIncPerDay);
$publisherIncPerDayResult = parseInt(86400/$publisherIncPerDayResultTemp);
$('#counter_publishers').addClass('counter-analog').counter({
initial: $publishersCurvalue,
direction: 'up',
interval: 1,
format: '9999999',
stop: $publishersCurvalue
});
});
$i++;
};
setInterval(publisherCounter, 5000);
publisherCounter();
答案 0 :(得分:0)
将$publishersCurvalue
从简单变量更改为具有两个属性的对象:
// wherever you declare it...
var $publishersCurvalue = {
prev: 0,
cur: 0
};
...
// current value
$publishersCurvalue.cur = result[0].curValue;
...
$('#counter_publishers').addClass('counter-analog').counter({
initial: $publishersCurvalue.prev,
direction: 'up',
interval: 1,
format: '9999999',
stop: $publishersCurvalue.cur
});
我并不理解您的意图,因此您可能需要更改prev
和cur
的使用情况。