2013-12-14 5 views
0

Я пытаюсь создать постоянно увеличивающееся число на моем сайте, которое начинается с заданного числа (например, 5 000 000) и увеличивается с равной скоростью (около 1 в секунду) до бесконечности. Это должно происходить независимо от пользователя, загружающего веб-страницу - другими словами, таймер НЕ должен перезапускаться при 50000000 каждый раз при загрузке веб-страницы. Вместо этого будет показано новое большее число.Непрерывный таймер подсчета (не зависит от загрузки страницы)

Я думал, что самый простой способ (в моих очень ограниченных знаниях по теме) может заключаться в использовании предыдущей даты в качестве отправной точки и подсчета секунд, прошедших с этой даты. Таким образом, это было бы точно, независимо от того, когда вы загружаете страницу и увеличиваетесь со скоростью 1 секунду.

Любые идеи?

+0

Храните время в файле cookie при первой загрузке и используйте его для расчета вашего номера. –

+0

Разве это не означает, что разные люди имеют разные числа, поскольку файл cookie хранится только на каждом отдельном компьютере? –

+0

Вы правы. ваш лучший выбор - сделать его функцией фактического времени/даты. –

ответ

0
var initSeconds = new Date(2010, 0).getSeconds() //january 1 of 2010 
    , BASE_NUMBER = 5000000 
; 

setInterval(function() { 
    var curSeconds = new Date().getSeconds() 
     , elem = $('#mydisplayelem') 
    ; 
    elem.text(BASE_NUMBER + curSeconds - initSeconds); 
}, 1000); 

Что-то вдоль этих линий ... это не будет делать именно то, что вы хотите, вам нужно лучше рассчитать время, но это должно вам начать работу.

Также см. this article о расчете даты отличается.