Пример простейшего таймера с опорой на какую-то конкретную дату:
var start_date = new Date().getTime() + 11000;
setInterval(function() {
var current_date = new Date().getTime();
if (start_date > current_date) {
var left_date = start_date - current_date;
var hours = Math.floor(left_date / 3600000);
var minutes = Math.floor((left_date % 3600000) / 60000);
var seconds = Math.floor((left_date % 60000) / 1000);
var left_time = '';
if (hours) {
left_time += hours + ' ч. ';
}
if (minutes) {
left_time += minutes + ' м. ';
}
if (String(seconds).length === 2) {
left_time += seconds + ' с.';
} else {
left_time += '0' + seconds + ' с.';
}
document.querySelector('body').innerHTML = 'Осталось времени ' + left_time;
}
else {
var elapsed_date = current_date - start_date;
var hours = Math.floor(elapsed_date / 3600000);
var minutes = Math.floor((elapsed_date % 3600000) / 60000);
var seconds = Math.floor((elapsed_date % 60000) / 1000);
var elapsed_time = '';
if (hours) {
elapsed_time += hours + ' ч. ';
}
if (minutes) {
elapsed_time += minutes + ' м. ';
}
if (String(seconds).length === 2) {
elapsed_time += seconds + ' с.';
} else {
elapsed_time += '0' + seconds + ' с.';
}
document.querySelector('body').innerHTML = 'Прошло времени ' + elapsed_time;
}
}, 1000);