2012-04-26 6 views
1

У меня странный клиентский запрос, который, похоже, не подходит для готовых плагинов jQuery, и я изо всех сил стараюсь понять, как лучше всего реализовать.Счетчик JQuery - подсчет между двумя значениями переменной, увеличивающимися с регулярными интервалами

В основном это для счетчика, представляющего собой выбросы co2, прогнозируемые для сохранения. Идея состоит в том, что счетчик будет работать по данным предыдущих месяцев.

Таким образом, в начале каждого месяца веб-админ устанавливает начальные и конечные значения.

Затем в течение месяца страница должна загружаться в начальной точке (рассчитанной в PHP на основе даты в сравнении с начальной точкой), а затем увеличивать ее каждые 5 секунд.

Таким образом, в качестве примера:

startValue = 200000; 
endValue = 225000; 
updateInterval = 5; /* seconds */ 

Мы бы 25.000 единиц подсчитать в течение этого времени. Это 25 000 должно быть разделено на 5 с шагом в месяц, а счетчик должен увеличиваться каждые 5 секунд.

Я думаю, что, наконец, понимаю теорию (мой клиент отправил ее в самые извилистые объяснения!), Но я изо всех сил пытаюсь решить, как ее решить.

Я думаю, что это просто ... но по достоинству оценят некоторые указатели, которые помогут мне в пути!

Спасибо, Стива

+0

Вы хотите, чтобы счетчик, чтобы сделать что-то каждые 5 секунд, пока она не достигнет макс? Это то, о чем вы спрашиваете? – jeremyharris

+0

Извините, я, наверное, был не слишком ясен. Я охотился за подобной функцией и нашел это: http://www.jugit.co.uk/ - см. Счетчик на домашней странице этого сайта. Идея здесь схожа, администратор установит начальное и конечное значение месяца, а в течение месяца счетчик должен перейти от A к B, подсчитывая. Сторона PHP будет устанавливать начальное значение на основе текущей даты и времени при загрузке страницы. Затем jQuery должен увеличивать число вверх с интервалом 5 секунд (12 обновлений за мин) – steve

+0

Тогда что-то вроде ответа Рикардо должно сделать только fine :) – jeremyharris

ответ

1

могут быть что-то, чтобы начать:

HTML:

<div id="start">20</div> 
<div id="end"></div> 
<div id="interval">5</div> 

ЯШ:

var start = 21; 
var end  = 25; 
var interval = 5000;  

var refreshIntervalId = setInterval(function(){ 
    if(start <= end){ 
     $("#start").text(start++); 
    }else{ 
     stop(); 
    } 
},interval); 

function stop(){ 
    clearInterval(refreshIntervalId);  
}​ 

Demo

+0

Спасибо, Рикардо - отличный указатель в правильном направлении. – steve

2

Привет Вы можете использовать Javascript setInterval methid

setInterval(callYouFunction(), time interval in miliseconds) 

Затем увеличивает ваш переменные

Надеются, что это помогает

Смежные вопросы