gpt4 book ai didi

javascript - 如果超过 60 分钟,如何使计数器从小时开始?

转载 作者:行者123 更新时间:2023-12-04 08:57:10 25 4
gpt4 key购买 nike

这是我的考试时间计数器脚本。这段代码工作正常,但是当 $time = 90 分钟时,我想像这样输出 1:30 分钟而不是 90 分钟。这段代码只在几分钟内给出输出,所以任何人都可以帮助 ?

<script type="text/javascript">
var timeoutHandle;
function countdown(minutes) {
var seconds = 60;
var mins = minutes
function tick() {
var counter = document.getElementById("timer");
var current_minutes = mins-1
seconds--;
counter.innerHTML =
current_minutes.toString() + ":" + (seconds < 10 ? "0" : "") + String(seconds);
if( seconds > 0 ) {
timeoutHandle=setTimeout(tick, 1000);
} else {
if(mins > 1){

setTimeout(function () { countdown(mins - 1); }, 1000); }
}
}
tick();
}
countdown('<?php echo $time; ?>');
</script>
这是我的 Blade html 文件:
    <div id="timer"></div>

最佳答案

这是一种方法。
仅当小时和分钟大于 0 时,才会显示小时和分钟:

var timeoutHandle;

function secondsToTime(seconds){
if(seconds < 60) {
return seconds
} else {
if(seconds/60 < 60) {
const mins = Math.floor(seconds/60)
return `${mins}:${seconds-mins*60}`
} else {
const hours = Math.floor((seconds/60)/60)
const mins = Math.floor(seconds/60 - hours*60)
return `${hours}:${mins}:${seconds-mins*60-hours*60*60}`
}
}
}

function countdown(minutes) {
var seconds = minutes * 60
function tick() {
var counter = document.getElementById("timer")
seconds--

counter.innerHTML = secondsToTime(seconds)

if(seconds > 1) timeoutHandle=setTimeout(tick, 1000)
}
tick()
}
countdown(70)
<div id="timer"></div>

关于javascript - 如果超过 60 分钟,如何使计数器从小时开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63760408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com