timer

HTML

<div id="timer"></div>

CSS

#timer {font: bold 48pt arial}

JavaScript

function getTimer( count ){
    var timer = new Object();
    timer.seconds = count % 60;
    count = (count - timer.seconds) / 60;
    timer.minutes = count % 60;
    count = (count - timer.minutes) / 60;
    timer.hours = count % 24;
    timer.days = (count - timer.hours) / 24;
    return timer;
}

// Вывод таймера
function showTimer( timer ){
    $('#timer').text(
        timer.days.toString() +
        ':' +
        (timer.hours < 10 ? '0' : '') +
        timer.hours.toString() +
        ':' +
        (timer.minutes < 10 ? '0' : '') +
        timer.minutes.toString() +
        ':' +
        (timer.seconds < 10 ? '0' : '') +
        timer.seconds.toString()
    );
}

// поехали
$(document).ready( function(){
    var now =     new Date();                                        // Здесь нужно получить точное время
    var newyear = new Date(now.getFullYear() + 1, 0, 1, 0, 0, 0, 0); 
    var counter = newyear.getTime() - now.getTime();                // милисекунд до НГ
    var timeout = counter % 1000;                                    // Милисекунды до синхронного вывода целых секунд
    counter = (counter - timeout) / 1000;                            // Кол-во секунд до Нового Года   
    showTimer(getTimer(counter + 1));                                // Вывод ближайшей целой секунды
    setTimeout(function(){
        showTimer(getTimer(counter));                                // Синхронный вывод 1-й целой секунды
        var intervalID = setInterval(function(){
            counter--;
            if( counter > 0 ){
                showTimer(getTimer(counter));                        // Синхронный вывод n-й целой секунды
            }else{
                clearInterval(intervalID);
                $('#timer').text('Ура!');
            }
        }, 1000);
    }, timeout);
    
});