2013-12-07 125 views
0

我一直在努力讓我的頭在這一段時間現在。卡住創建一個php/javascript倒數計時器

我正在嘗試創建一個倒數計時器。最終,我希望它從早上8點開始每5小時重置一次。但是現在我無法弄清楚是否正確設置了小時,分鐘和秒數來正確倒數。

這是我到目前爲止的代碼:

<?php 
    $timeTo = strtotime('08:00:00').'<br />'; 
       $timeNow = strtotime('now').'<br />'; 
       $differenceInSeconds = $timeTo - $timeNow; 
      ?> 
      <script type="text/javascript"> 
       var s= "<?php Print($differenceInSeconds);?>"; 
       var h= Math.floor(s/3600); 
       s-= h*3600; 
       var m= Math.floor(s/60); 
       s -= m*60; 
       var counter=setInterval(timer, 1000); //1000 will run it every 1 second 
        function timer() 
        { 

         s=s-1; 
         if(h >= 0 && m >= 0 && s <= -1){ 
         m=m-1; 
         s=59; 
         if(h>= 0 && m < 0 && s <= -1){ 
          h=h-1; 
          m=59; 
          s=59; 
           if (s <= -1) 
           { 

           //counter ended, reset counter 


           return; 
           } 
          } 
         } 
         //Do code for showing the number of seconds here 
          document.getElementById("timer").innerHTML=(h <= 0 ? ' ' : h+"hr ")+(m <= 0 ? ' ' : m+"min ")+(s < 10 ? '0'+s : s+"secs "); // watch for spelling 
        } 
      </script> 

我在這裏找錯了樹?我對時代和JavaScript很陌生,所以覺得很難。

回答

3

我不會回答這個問題。我只會試着帶你回答。

  1. 請注意,s <= -1在邏輯上等於s < 0。沒有混淆。使用第二個,它看起來更乾淨。
  2. s=59;,並在下一行如何在地球上會if(h>= 0 && m < 0 &&小號< = -1)曾經評價到true

也存在類似的其他邏輯錯誤。花些時間解決這個問題。如果你自己解決這個問題,那麼你更接近成爲一名優秀的程序員。

快樂編碼... :)

+1

雖然回答'我不會回答'可能是不正確的,仍然+1爲調用自我教育 –