【问题标题】:How to display seconds as timer in js [duplicate]如何在js中将秒显示为计时器[重复]
【发布时间】:2021-04-11 15:42:52
【问题描述】:

假设我有一个名为 seconds 的变量,如下所示:

let seconds = 100

如何以计时器形式显示 this,例如: 01:40 最好像这样使用字符串插值:

`${variable}`

【问题讨论】:

  • 您的问题没有尝试自行解决此问题。这个想法是让您尝试让某些事情起作用,然后带着您无法解决的特定问题来到这里。参观并在帮助中心阅读有关How to ask a good question 的信息将提供您需要的所有信息。

标签: javascript


【解决方案1】:

我会使用 Date() 对象并创建一个函数,使用 setInterval 每秒运行一个函数,然后使用 .innerHTML 将其添加到您的 HTML 代码中

var current_time = document.getElementById("time");
var cur_time = new Date();

var today = new Date();

setInterval(gettime, 1000);
function gettime() {
    var hours = cur_time.getHours();
    var minutes = cur_time.getMinutes();
    var seconds = cur_time.getSeconds();
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    var time = hours + ":" + minutes + ":" + seconds; + " ";
    
    console.log(time);
    document.getElementById("time").innerHTML = time;
}

day_of_week.innerHTML = day;

注意 setInterval(gettime, 1000);用于使函数每秒都在运行并更新当前时间

【讨论】:

    【解决方案2】:

    你可以做到的:

    let number = 100;
    
    let minutes = Math.floor(number / 60);
    let seconds = number % 60;
    
    let timeString = `${minutes}:${seconds}`;
    
    document.getElementById("timer").textContent = timeString;
    &lt;div id="timer"&gt;&lt;/div&gt;

    【讨论】:

    • 如果可能的话,你可以让计时器有两位数字,比如 00:00,而值是一个数字,比如 01:40
    • @svoruganti 只需执行类似 -> (let minutes = Math.floor(number / 60)).toString().padStart(2, '0'); 的操作几秒钟即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多