我一直在努力让自己头脑发热一段时间。
我正在尝试创建一个倒数计时器。最终我希望它从早上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>
我在这里咆哮错误的树吗?我是时代和新手,所以很难找到它。
答案 0 :(得分:3)
我不会回答这个问题。我会尽力引导你找到答案。
s <= -1
在逻辑上等同于s < 0
。没有混淆。使用第二个,它看起来更干净。s=59;
并在接下来的一行中if(h>= 0 && m < 0 &&
s&lt; = -1 )
如何评估true
?< / LI>
醇>
也存在类似的其他逻辑错误。花一些时间来解决这个问题。如果你自己解决这个问题,那么你就可以更接近成为一名优秀的程序员。
快乐编码...... :)