创建php/javascript倒计时计时器时出现问题

Stuck creating a php/javascript countdown timer

本文关键字:问题 计时器 倒计时 php javascript 创建      更新时间:2024-05-01

一段时间以来,我一直在努力解决这个问题。

我正在尝试创建一个倒计时计时器。最终,我希望它从早上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的新手,所以发现这很难。

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

  1. 注意,s <= -1在逻辑上等同于s < 0。没有混淆。用第二个,它看起来更干净
  2. s=59;以及在下一行中if(h>= 0 && m < 0 &&s&lt-1)是否评估为true

类似的其他逻辑错误也存在。花点时间解决这个问题。如果你自己解决了这个问题,那么你离成为一名优秀的程序员又近了一步。

快乐编码…:)