본문 바로가기
Programming Language/Javascript

[Javascript] javascript 시간 연장 타이머 코드

by 뒹굴거리는프로도 2018. 11. 29.
반응형

 


/* 2018.11.29 시간 연장 타이머 */


    var iSecond; // 초 단위로 환산
    var timerChecker = null;

    window.onload = function(){
        fncClearTime();
        initTimer();
    }

    function fncClearTime(){
        iSecond = 600;
    }

    Lpad = function(str, len){
        str = str + "";
        while(str.length < len){
            str = "0" + str;
        }
        return str;
    }

    initTimer = function(){
        var timer = document.getElementById("timer");
        rHour = parseInt(iSecond/3600);
        rHour = rHour % 60;

        rMinute = parseInt(iSecond/60);
        rMinute = rMinute % 60;

        rSecond = iSecond % 60;

        if(iSecond > 0){
            timer.innerHTML = /* "&nbsp;" + Lpad(rHour, 2) + "시간" +  */Lpad(rMinute, 2) + "분 " + Lpad(rSecond,2) + "초";
            iSecond--;
            timerCheker = setTimeout("initTimer()", 1000); // 1 초 간격으로 체크
        }else{
            logoutUser();
        }


    }

    function refreshTimer(){
        var xhr = initAjax();
        xhr.open("POST", "<c:url value='/inc/incHeader.do' />", false);
        xhr.send();
        fncClearTime();
    }



    function logoutUser(){
        clearTimeout(timerChecker);
        var xhr = initAjax();
        xhr.open("POST", "<c:url value='/login/logOut.do' />", false);
        xhr.send();
        location.reload();
    }

    function initAjax(){ //브라우저에 따른 AjaxObject 인스턴스 분기 처리
        var xmlhttp = new XMLHttpRequest();
        return xmlhttp;
    }
 

 

 

 

출처  

http://devsh.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EA%B5%AC%ED%98%84%ED%95%9C-%EC%8B%A4%EC%8B%9C%EA%B0%84-%ED%83%80%EC%9E%84%EC%95%84%EC%9B%83-%EA%B8%B0%EB%8A%A5

 

 

2018.12.06

더 개선한 소스는 다시 올려놓았다. 

이 소스는 브라우저단에서만 카운트 하기 때문에 문제가 있음.

디버깅이라도 걸어놓았다간 으.

반응형