Javascript 尝试创建一个自动重置的24小时计时器
这是我的密码。非常混乱,但由于我缺乏经验,我无法发现它为什么不起作用。根据我的统计,减量是js标准的,至少毫秒、秒和分钟是如此,但不确定小时是多少 这是密码。提前谢谢Javascript 尝试创建一个自动重置的24小时计时器,javascript,timer,countdown,Javascript,Timer,Countdown,这是我的密码。非常混乱,但由于我缺乏经验,我无法发现它为什么不起作用。根据我的统计,减量是js标准的,至少毫秒、秒和分钟是如此,但不确定小时是多少 这是密码。提前谢谢 <!DOCTYPE html> <html> <body> <span id="tHours"></span>:<span id="tMins"></span>:<span id="tSeconds"></span>:&l
<!DOCTYPE html>
<html>
<body>
<span id="tHours"></span>:<span id="tMins"></span>:<span id="tSeconds"></span>:<span id="tMilli"></span>
<script>
var hours = 1;
var mins = hours * 60;
var secs = mins * 60;
var mill = secs * 100;
var currentHours = 0;
var currentSeconds = 0;
var currentMinutes = 0;
vas currentMilli = 0;
setTimeout('DecrementMilli()',100);
setTimeout('DecrementSeconds()',1000);
setTimeout('DecrementMinutes()',10000);
setTimeout('DecrementHours()',100000);
function DecrementMilli() {
currentMilli = secs % 100;
if(currentMilli <= 99) currentMilli = "000" + currentMilli;
secs--;
document.getElementById("tMilli").innerHTML = currentMilli;
if(mill !== -1) setTimeout('Decrement()',100);
}
function DecrementSeconds() {
currentSeconds = secs % 60;
if(currentSeconds <= 9) currentSeconds = "0" + currentSeconds;
secs--;
document.getElementById("tSeconds").innerHTML = currentSeconds;
if(secs !== -1) setTimeout('Decrement()',1000);
}
function DecrementMinutes() {
currentMinutes = Math.round(secs / 60);
if(currentMinutes <= 60) currentMinutes = "00";
mins--;
document.getElementById("tMins").innerHTML = currentMinutes;
if(mins !== -1) setTimeout('Decrement()',10000);
}
function DecrementHours() {
currentHours = Math.round(1440 / 60);
if(currentHours <= 24) currentHours - 1;
hours--;
document.getElementById("tHours").innerHTML = currentHours;
if(hours !== -1) setTimeout('Decrement()',100000);
}
</script>
</body>
</html>
你的间歇时间错了。您可以尝试下面的代码。只需在html中添加变量,如:
<span id='tHours'>23</span>:<span id='tMins'>59</span>:<span id='tSeconds'>59</span>:<span id='tMilli'>99</span>
嗯,我解决了我自己的问题,但它并不雅观,因为它不是在24:00:00开始,而是在23:59:59开始。但这只是一个开始 我会把它贴在这里,以防对任何人都有帮助
<script type="text/javascript">
var count = 86400;
var counter = setInterval(timer, 1000);
function timer() {
count = count - 1;
if (count == -1) {
clearInterval(counter);
return;
}
var seconds = count % 60;
var minutes = Math.floor(count / 60);
var hours = Math.floor(minutes / 60);
minutes %= 60;
hours %= 60;
document.getElementById("timer").innerHTML = hours + ":" + minutes + ":" + seconds; // watch for spelling
}
</script>
<span id='timer'></span>
碰撞线程是否有效?如果没有,对不起,请随意做你必须做的事。嗨@Thalsan多亏了你,我学会了我的错误,我使用了不正确的递减,因为我忘记了我不再以单一时间单位工作了,duh!我是个白痴哈哈。但是,您的计数器也不会移动。我认为这是因为脚本中的id与html中的id不同,但事实并非如此。无论如何,谢谢你,朋友:
<script type="text/javascript">
var count = 86400;
var counter = setInterval(timer, 1000);
function timer() {
count = count - 1;
if (count == -1) {
clearInterval(counter);
return;
}
var seconds = count % 60;
var minutes = Math.floor(count / 60);
var hours = Math.floor(minutes / 60);
minutes %= 60;
hours %= 60;
document.getElementById("timer").innerHTML = hours + ":" + minutes + ":" + seconds; // watch for spelling
}
</script>
<span id='timer'></span>