window.my = { th:document.getElementById('th'),tm:document.getElementById('tm'),ts:document.getElementById('ts'), rem:1 }
window.my.si = setInterval( function() {
var a, b=window.my, c, t = new Date();
if(b.ts.innerHTML != (c=(a=t.getSeconds())<10?'0':'')+a)){
b.ts.innerHTML = c;
if((c == '00' || b.rem) && b.tm.innerHTML != (c=(a=t.getMinutes())<10?'0':'')+a)){
b.tm.innerHTML = c;
if((c == '00' || b.rem) && b.th.innerHTML != (c=(a=t.getHours())<10?'0':'')+a)){
b.th.innerHTML = c;
b.rem=0;
}
}
}
}, 200);
интервал 200, чтоб не была заметна неравномерность между секундами