JS Timer

by Rajesh Dixit

HTML

<div>
    <span id="lblhr">00</span>
    : <span id="lblmin">00</span>
    : <span id="lblsec">00</span>
</div>

<button onclick="startTimer()">Start</button>
<button onclick="endTimer()">Stop</button>

JavaScript

function timer(){
    var time = {
        sec:00,
        min:00,
        hr:00
    }
    var max = 59;
    var interval = null;

    function update(str){
        time[str]++;
        time[str] = time[str]%60;
        if(time[str] == 0){
            str == "sec"? update("min"):update("hr");
        }
        print(str);
    }

    function print(str){
        var _time = time[str].toString().length == 1?"0" + time[str]:time[str];
        document.getElementById("lbl"+str).innerText = _time;
    }

    function initInterval(){
        interval = setInterval(function(){
            update("sec");
        },1000);
    }
    
    function stopTimer(){
    	clearInterval(interval);
    }
    
    return {
        'init': initInterval,
        'stop': stopTimer
    }
};
var time = new timer();
function startTimer_out(){
    time.init();
}

function endTimer_out(){
    time.stop();
}