2016-07-25 1 views
0

여기는 초보자입니다. 이 질문에 비슷한 질문이 있지만 여전히 이해가 안된다는 것을 알고 있습니다. 그 죄송합니다. 이것에 대한 답변을 기대하고 있습니다.페이지가 새로 고침 될 때 자바 스크립트 Coundown 타이머가 재설정되지 않도록 설정합니다.

30 초 카운트 다운 타이머가 있습니다. 리셋을 막는 방법?

<html> 
<body> 

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


<script> 

    var count = 1801; // 30 seconds 
    var counter = setInterval(timer, 1000); //1000 will run it every 1 second 

    function timer() { 
     count = count - 1; 
     if (count == -1) { 
      clearInterval(counter); 
      document.getElementById("submittime").click(); 
      return; 
     } 

     var secondcount = count; 
     var seconds = count % 60; 
     var minutes = Math.floor(count/60); 
     var hours = Math.floor(minutes/60); 
     minutes %= 60; 
     hours %= 60; 

     document.getElementById("timer").innerHTML = hours + ":" + minutes + ":" + seconds; 



    } 

    </script> 

</body> 
</html> 

나는 위의 코드를 사용하고이에 병합 할 : 여기

는 코드입니다. 현재이 코드는 0에서 10 사이의 타이머이며 브라우저에서 새로 고쳐지지 않습니다. 나는 시간, 분, 초로 그것을하는 방법을 모른다.

<body> 
    <div id="divCounter"></div> 
    <script type="text/javascript"> 
    if(localStorage.getItem("counter")){ 
     if(localStorage.getItem("counter") >= 10){ 
     var value = 0; 
     }else{ 
     var value = localStorage.getItem("counter"); 
     } 
    }else{ 
     var value = 0; 
    } 
    document.getElementById('divCounter').innerHTML = value; 

    var counter = function(){ 
     if(value >= 10){ 
     localStorage.setItem("counter", 0); 
     value = 0; 
     }else{ 
     value = parseInt(value)+1; 
     localStorage.setItem("counter", value); 
     } 
     document.getElementById('divCounter').innerHTML = value; 
    }; 

    var interval = setInterval(function(){counter();}, 1000); 
    </script> 
</body> 
+0

페이지가 생존 할 수 있도록 쿠키/브라우저 저장소를 사용해야합니다. 몇 가지 힌트는 여기를 참조하십시오. http://stackoverflow.com/questions/37606193/countdown-timer-for-hours-minutes-and-seconds/37606971 # 37606971 – Viney

+0

감사합니다.이 코드를이 예제 코드에 적용하거나 병합하는 방법을 알고 계십니까? answer.http : //stackoverflow.com/questions/22099714/how-to-make-countdown-timer-not-reset-when- 브라우저 새로 고침 – deynyeldan

+0

로컬 저장소를 사용하고 싶지만이 코드를 적용하는 방법을 모릅니다. 이 코드는 퀴즈를 제출할 것입니다 if (count == -1) { clearInterval (counter); document.getElementById ("submittime"). click(); 반환; } – deynyeldan

답변

2

일반적으로 클라이언트 측 javascript는 페이지를 다시로드 할 때 다시로드됩니다. 그것이 작동하는 방법입니다. 내 지식에 따르면 가장 좋은 방법은 다음과 같습니다.

카운트 다운 값을 쿠키 또는 로컬 저장소에 저장하고 해당 값에서 페이지로드가 계속됩니다.

관련 문제