А еще лучше так
function initializeClock(id, endtime) {
var clock = document.getElementById(id);
var hoursSpan = clock.querySelector(".hours");
var minutesSpan = clock.querySelector(".minutes");
var secondsSpan = clock.querySelector(".seconds");
var miliSecondsSpan = clock.querySelector(".miliSeconds");
function updateClock() {
var t = getTimeRemaining(endtime);
if (t.total <= 0) {
document.getElementById("header").className = "hidden";
return true;
}
hoursSpan.innerHTML = ("0" + t.hours).slice(-2);
minutesSpan.innerHTML = ("0" + t.minutes).slice(-2);
secondsSpan.innerHTML = ("0" + t.seconds).slice(-2);
miliSecondsSpan.innerHTML = ("00" + t.miliSeconds).slice(-3);
requestAnimationFrame(updateClock);
}
requestAnimationFrame(updateClock);
}
requestAnimationFrame - вызывает функцию перед обновлением экрана, когда браузер это сможет сделать. Чаще ее вызывать смысла не имеет. На современных компьютерах это 60 раз в секунду.