我希望在浏览器打开时计算时间

时间:2015-05-12 13:57:49

标签: javascript google-chrome-extension

我正在创建我的第一个Chrome扩展程序,它会在启动浏览器时启动计时器。 例如:00:00:00 - > 00:00:01 - > 00:00:02 我在下面粘贴了我的代码。这是最好的选择吗?

$(function () {
    startCount();
});

function startCount() {
    timer = setInterval(count, 1000);
}

function count() {
    var time_shown = $("#realtime").text();
    var time_chunks = time_shown.split(":");
    var hour, mins, secs;
    hour = Number(time_chunks[0]);
    mins = Number(time_chunks[1]);
    secs = Number(time_chunks[2]);
    secs++;

    if (secs == 60) {
        secs = 0;
        mins = mins + 1;
    }

    if (mins == 60) {
        mins = 0;
        hour = hour + 1;
    }

    if (hour == 13) {
        hour = 0;
    }

    $("#realtime").text(timezero(hour) + ":" + timezero(mins) + ":" + timezero(secs));
}

function timezero(digit) {
    var str = digit + '';

    if (digit < 10) {
        str = "0" + str;
    }

    return str;
}

1 个答案:

答案 0 :(得分:0)

该代码因多种原因无效。例如,它假设它永远不会错过一秒,但它会遗漏一些(请参阅有关超时/间隔的文档。它也使计算过于复杂。只需记住加载时的Date.now()并使用间隔重新计算与new now()