http://learn.javascript.ru/play/uX1Dlb
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<span id="timer"></span>
<script>
(function() {
function onTimeEnd() {
alert('Boom!');
//В this будет передана ссылка на сам элемент с таймером.
//this.style.display = 'none'; /*Можно скрыть теймер при истечении*/
};
function secondsToTime(seconds) {
return new Date(null, null, null, null, null, seconds).toTimeString().match(/\d{2}:(\d{2}:\d{2})/)[1];
};
var elem = document.getElementById('timer'),
interval = setInterval(function() {
elem.innerHTML = secondsToTime(startTime);
if(!startTime--) {
onTimeEnd.call(elem);
clearInterval(interval);
}
}, 1E3),
startTime = 30; //Стартовое количество в секундах.
})();
</script>
</body>
</html>