我正在创建我的第一个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;
}
答案 0 :(得分:0)
该代码因多种原因无效。例如,它假设它永远不会错过一秒,但它会遗漏一些(请参阅有关超时/间隔的文档。它也使计算过于复杂。只需记住加载时的Date.now()并使用间隔重新计算与new now()