有一段时间我一直在努力解决这个问题。
我正在尝试创建一个倒计时器。最终我希望它从早上 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>
我是不是找错树了?我对 times 和 javascript 很陌生,所以发现它很困难。
最佳答案
我不会回答这个问题。我会尽力引导您找到答案。
- 请注意
s <= -1
逻辑上相当于s < 0
。对此并不存在混淆。使用第二个,看起来更干净。 -
s=59;
在下一行中,到底会怎样if(h>= 0 && m < 0 &&
s <= -1)
曾经评估过true
?
还存在类似的其他逻辑错误。花一些时间解决这个问题。如果您自己解决这个问题,那么您离成为一名优秀的程序员又近了一步。
快乐编码...:)
关于javascript - 创建 php/javascript 倒计时器时卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444854/