坚持创建一个php / javascript倒计时器

时间:2013-12-07 18:21:23

标签: javascript php timer setinterval

我一直在努力让自己头脑发热一段时间。

我正在尝试创建一个倒数计时器。最终我希望它从早上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>

我在这里咆哮错误的树吗?我是时代和新手,所以很难找到它。

1 个答案:

答案 0 :(得分:3)

我不会回答这个问题。我会尽力引导你找到答案。

  1. 请注意,s <= -1在逻辑上等同于s < 0。没有混淆。使用第二个,它看起来更干净。
  2. s=59;并在接下来的一行中if(h>= 0 && m < 0 && s&lt; = -1 )如何评估true?< / LI>

    也存在类似的其他逻辑错误。花一些时间来解决这个问题。如果你自己解决这个问题,那么你就可以更接近成为一名优秀的程序员。

    快乐编码...... :)