【问题标题】:Stuck creating a php/javascript countdown timer卡住创建一个 php/javascript 倒数计时器
【发布时间】:2013-12-07 18:21:22
【问题描述】:

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

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

【问题讨论】:

    标签: javascript php timer setinterval


    【解决方案1】:

    我不会回答这个问题。我只是试着引导你找到答案。

    1. 请注意,s &lt;= -1 在逻辑上等同于s &lt; 0。对此没有任何困惑。使用第二个,看起来更干净。
    2. s=59; 和下一行 if(h&gt;= 0 &amp;&amp; m &lt; 0 &amp;&amp; s ) 到底如何评估为 true

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

    编码愉快... :)

    【讨论】:

    • 虽然回答I wont answer可能不正确,但还是+1调用自我教育
    猜你喜欢
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2012-01-17
    相关资源
    最近更新 更多