다중 타이머 질문

다중 타이머 질문

QA

다중 타이머 질문

본문

3731115165_1598865898.7588.png

 

타이머가 여러개 있고 한개의 스크립트로 돌리면

 

킬때마다 시간이 빨라지고 한개가 끝나면 멈춰버리는 현상이 있습니다.

 

이런경우에는 어떻게 해결 해야 될까요..

 

 

 
<script>
    time =  300; //45*60*10;
    var running = 0;
 
function increment(op,sp){
    if(running == 1){
        setTimeout(function(){
            time--;
            var mins = Math.floor(time/10/60);
            var secs = Math.floor(time/10 % 60);
            var hours = Math.floor(time/10/60/60); 
            var tenths = time % 10;
            if(mins < 10){
                mins = "0" + mins;
            } 
            if(secs < 10){
                secs = "0" + secs;
            }
            if(time <= 0) {
                //result();
                Myaudio.play();
                document.getElementById(sp).style.backgroundColor = "red";  
                document.getElementById(sp).style.borderColor = "red";
                reset();
                
                    }
            document.getElementById(op).innerHTML = mins + ":" + secs ;
            
            increment(op,sp);
        },100)
    }
}
function startPause1(ch,op,sp){
 
     running = 1;
    increment(op,sp);
    document.getElementsByClassName(ch).innerHTML = "Pause";
    document.getElementById(sp).style.backgroundColor = "green";    
    document.getElementById(sp).style.borderColor = "green";
}
 
function reset(op,sp){
running = 0;
time =  300; //45*60*10;
document.getElementsByClassName(ch).innerHTML = "Start";
document.getElementById(op).innerHTML = "00:00";
document.getElementById(sp).style.backgroundColor = "red";  
document.getElementById(sp).style.borderColor = "red";
}
</script>

이 질문에 댓글 쓰기 :

답변 3

increment 함수가 재귀함수로 되어 있어서 그런거 아닌가요?

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT