Возможно, у вас есть страница с такой разметкой:
<div id='counter'><%= some_number_from_database_or_similar() %></div>
И чтобы вы могли написать такой скрипт:
var INTERVAL = 1;
$(document).ready( function() {
var delay = INTERVAL * 1000;
var target = $('#counter');
var counter = parseInt( target.text(), 10 );
setInterval( function() {
target.text( counter++ );
}, delay );
} );
Это не совсем точно, так как вы не можете быть уверены, что функция будет вызываться точно раз в секунду, но это будет довольно близко (и насколько точной она вам нужна , тем не мение?). В качестве альтернативы вы можете создать new Date()
и получить его временную метку, затем создавать еще одну каждые интервал и просто вычислять количество прошедших фактических секунд ... Кажется, слишком дорого, чтобы того стоить.
Что касается использования изображений для чисел, вы можете просто изменить функцию интервала на что-то вроде:
function() {
var counterString = (counter++).toString();
var chunks = [];
for( var i = 0; i < counterString.length; i++ ) {
chunks.push( "<img src='/images/numbers/" + counterString[i] + ".png' />" );
}
target.html( chunks.join('') );
}