当分钟和秒为0时,倒计时计时器不会减少小时数
countdown timer not reducing hours when minutes and seconds are 0
一段时间以来,我一直在为这个倒计时计时器而挣扎。我已经取得了很大的进步,但由于某种原因,当分秒为0时,并没有减少小时数。为什么会这样?
代码:
<?php
$timeTo = strtotime(gmdate("12:24: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(s == 0 ){
m=m-1;
s=59;
if(s == 0 && m == 0){
h=h-1;
s=59;
m=59;
if(s == 0 && m == 0 && h == 0){
// reset the counter
//return;
}
}
}
//Do code for showing the number of seconds here
document.getElementById("timer").innerHTML=h+'hrs '+m+'min '+s+'secs ';//(h <= 0 ? ' ' : h+"hr ")+(m <= 0 ? ' ' : m+"min ")+(s < 10 ? '0'+s+'secs ' : s+"secs "); // watch for spelling
}
</script>
<span id="timer"></span>
这是一个JSFiddle
首先检查s == 0
,然后递减,而不是按相反的顺序:
s=s-1; // s will be -1
if(s == 0 ){
但是
if (s == 0) {
// logic here
} else {
s = s - 1;
}
演示:http://jsfiddle.net/VsP87/3/
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- MobileFirst:在客户端运行计时器作业-最佳选项
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- 如何禁用窗口.当计时器超时时,打开卸载警报
- 在Nodejs中为许多用户处理计时器
- 如果弹出窗口关闭,Javascript停止/重置计时器
- 试图创建一个24小时计时器来重置自己
- Javasacript倒数计时器,以天,小时,分钟,秒为单位
- JS倒数计时器与天:小时:分钟
- 周期性倒计时计时器,每18小时一次,有特定的开始日期
- JS计时器只适用于秒,如何添加分钟和小时
- 从H "小时"M产生绯闻,minutes"在没有刷新的计时器中
- 在javascript中创建一个倒计时计时器,在1小时后开始倒计时
- 如何制作 4 小时自动重启计时器
- 倒数计时器每 6 小时一次
- 倒计时计时器每12小时重置一次