2016-06-27 3 views
1

사용자가 타이머를 중지 한 후 시간을 완료 한 후 양식을 제출하는 카운트 다운 타이머를 만들려고하는데 남은 시간을 계산해야합니다. 여기 내 코드가있다.카운트 다운 타이머에서 남은 시간을 얻으려면 어떻게해야합니까?

<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
    <script type="text/javascript"> 
     var total_seconds = 600; 
     var c_minutes=parseInt(total_seconds/60); 
     var c_seconds=parseInt(total_seconds%60); 
     var hours=parseInt(total_seconds/3600); 
     function CheckTime(){ 
     document.getElementById('time-left').innerHTML='Time Left: '+hours+' hours '+c_minutes+' min '+c_seconds+' sec'; 
     if(total_seconds<=0){ 
      alert("oops no time left"); 
      setTimeout('document.form.submit()',1); 
     }else{ 
      total_seconds=total_seconds-1; 
      c_minutes=parseInt(total_seconds/60); 
      c_seconds=parseInt(total_seconds%60); 
      hours=parseInt(total_seconds/3600); 
      setTimeout("CheckTime()",1000); 
     } 
     } 
     var timeout = setTimeout("CheckTime()",1000); 
     setInterval(function() { 
     console.log('Time left: '+getTimeLeft(timeout)+'s'); 
     }, 2000); 
     function getTimeLeft(timeout) { 
     return Math.ceil((timeout._idleStart + timeout._idleTimeout - Date.now())/1000); 
     } 
    </script> 
    </head> 
    <body> 
    <h1>Countdown Timer</h1> 
    <div id="time-left"> </div> 
    <br/><br/> 
    <form method="post" name="form" action="timer.php"></form> 
    <button onclick="getTimeLeft()">Stop</button> 
    </body> 
</html> 
+0

이 코드에는 어떤 오류가 있습니까? –

+0

사용자가 타이머를 어떻게 멈 춥니 까? – Mairaj

+0

남은 시간을 가져올 수 없습니다. 실제로 남은 시간을 초 단위로 가져오고 싶지만이 코드를 사용하면 얻을 수 없습니다. –

답변

0

당신은 단순히이 seconds 이미 매 2 초 후에 업데이트로 초 남은 시간을 얻을 수있는 변수 total_seconds를 사용할 수 있습니다.

var timeout = setTimeout("CheckTime()",1000); 
     setInterval(function() { 
     console.log('Time left: '+total_seconds+'s'); 
     }, 2000); 
1

감사 레오파드 나는 그것을 얻었다.

<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
    <script type="text/javascript"> 
     var total_seconds = 600; 
     var c_minutes=parseInt(total_seconds/60); 
     var c_seconds=parseInt(total_seconds%60); 
     var hours=parseInt(total_seconds/3600); 
     function CheckTime(){ 
     document.getElementById('time-left').innerHTML='Time Left: '+hours+' hours '+c_minutes+' min '+c_seconds+' sec'; 
     if(total_seconds<=0){ 
      alert("oops no time left"); 
      setTimeout('document.form.submit()',1); 
     }else{ 
      total_seconds=total_seconds-1; 
      c_minutes=parseInt(total_seconds/60); 
      c_seconds=parseInt(total_seconds%60); 
      hours=parseInt(total_seconds/3600); 
      console.log(total_seconds); 
      setTimeout("CheckTime()",1000); 
     } 
     } 
     setTimeout("CheckTime()",1000); 

    </script> 
    </head> 
    <body> 
    <h1>Countdown Timer</h1> 
    <div id="time-left"> </div> 
    <br/><br/> 
    <form method="post" name="form"> 
     <input type="submit" name="sub" id="submt" value="Save"> 
    </form> 
    </body> 
</html> 
+0

그건 그렇고 내 이름은 Mairaj 아마드 – Mairaj

+0

좋은 좋은 사건 –

관련 문제