我怎样才能用 00:00 时间格式修复我的 Javascript 秒表? (秒:毫秒)
How can I fix my Javascript stopwatch with the 00:00 time format? (Seconds:Milliseconds)
有什么方法可以把它变成 运行 秒表吗?我不需要任何开始或停止按钮,它应该只是 运行 页面加载时的秒表并且秒表需要保持 运行ning.
我已经让其他一切正常工作,但我找不到使用 00:00 格式的秒表功能。有什么命令可以做到这一点吗?
"d.getSeconds()" 没有为我这样做。
new Date();
var testVar = window.setInterval(update, 10);
function update() {
var d = new Date();
document.getElementById("seconds").innerHTML = d.getSeconds();
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
</body>
有什么方法可以让 innerHTML 成为“00:00”格式的常规秒表吗?
您可以使用 padStart
以及一些数学来格式化秒表:
window.setInterval(update, 1000);
function update(){
var d = new Date();
var minutes = Math.floor(d.getSeconds() / 60)
var seconds = d.getSeconds() % 60
var time = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`
document.getElementById("seconds").innerHTML = time
}
<h1>Stop Watch</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
按照您的操作方式,秒表可以从任意随机数开始(因为它从当前秒数开始)。我建议在下面简单地制作你自己的。 但是,如果您不想自己制作,请查看第二个或第三个片段。
var testVar = window.setInterval(update, 10);
var seconds = 0;
var milliseconds = 1;
function update() {
if (milliseconds == 100) {
milliseconds = 0;
seconds++;
}
if (milliseconds < 10 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":0" + milliseconds;
}
else if (milliseconds < 10 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":0" + milliseconds;
}
else if (milliseconds >= 0 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":" + milliseconds;
}
else if (milliseconds >= 0 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":" + milliseconds;
}
milliseconds++;
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds">00:00</p>
如果您想继续按照原来的方式进行操作,请查看下面的代码片段。我从 new Date()
得到了分秒,基本上使用了一些你想要的 if 语句来格式化它。
update();
var testVar = window.setInterval(update, 10);
var seconds;
var milliseconds;
var d;
function update() {
d = new Date();
seconds = d.getSeconds();
milliseconds = Math.floor((d.getMilliseconds() / 10));
if (milliseconds < 10 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":0" + milliseconds;
}
else if (milliseconds < 10 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":0" + milliseconds;
}
else if (milliseconds >= 0 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":" + milliseconds;
}
else if (milliseconds >= 0 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":" + milliseconds;
}
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
下面是一些对其进行分解并正确格式化的代码。
注意:我们有一个基准 'start' 日期可以减去,这使我们可以像真正的秒表一样工作。
let base = Date.now(); // Milliseconds
var testVar = window.setInterval(update, 10);
const displayNum = (num) => num.toString().padStart(2,'0');
function update() {
let mil = Date.now() - base;
let sec = Math.floor( mil/1000 );
mil = mil%1000;
let min = Math.floor( sec/60 );
sec = sec%60;
document.getElementById("seconds").innerHTML = `${displayNum(min)}:${displayNum(sec)}:${displayNum(mil)}`;
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
</body>
有什么方法可以把它变成 运行 秒表吗?我不需要任何开始或停止按钮,它应该只是 运行 页面加载时的秒表并且秒表需要保持 运行ning.
我已经让其他一切正常工作,但我找不到使用 00:00 格式的秒表功能。有什么命令可以做到这一点吗?
"d.getSeconds()" 没有为我这样做。
new Date();
var testVar = window.setInterval(update, 10);
function update() {
var d = new Date();
document.getElementById("seconds").innerHTML = d.getSeconds();
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
</body>
有什么方法可以让 innerHTML 成为“00:00”格式的常规秒表吗?
您可以使用 padStart
以及一些数学来格式化秒表:
window.setInterval(update, 1000);
function update(){
var d = new Date();
var minutes = Math.floor(d.getSeconds() / 60)
var seconds = d.getSeconds() % 60
var time = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`
document.getElementById("seconds").innerHTML = time
}
<h1>Stop Watch</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
按照您的操作方式,秒表可以从任意随机数开始(因为它从当前秒数开始)。我建议在下面简单地制作你自己的。 但是,如果您不想自己制作,请查看第二个或第三个片段。
var testVar = window.setInterval(update, 10);
var seconds = 0;
var milliseconds = 1;
function update() {
if (milliseconds == 100) {
milliseconds = 0;
seconds++;
}
if (milliseconds < 10 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":0" + milliseconds;
}
else if (milliseconds < 10 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":0" + milliseconds;
}
else if (milliseconds >= 0 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":" + milliseconds;
}
else if (milliseconds >= 0 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":" + milliseconds;
}
milliseconds++;
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds">00:00</p>
如果您想继续按照原来的方式进行操作,请查看下面的代码片段。我从 new Date()
得到了分秒,基本上使用了一些你想要的 if 语句来格式化它。
update();
var testVar = window.setInterval(update, 10);
var seconds;
var milliseconds;
var d;
function update() {
d = new Date();
seconds = d.getSeconds();
milliseconds = Math.floor((d.getMilliseconds() / 10));
if (milliseconds < 10 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":0" + milliseconds;
}
else if (milliseconds < 10 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":0" + milliseconds;
}
else if (milliseconds >= 0 && seconds < 10) {
document.getElementById("seconds").innerHTML =
"0" + seconds + ":" + milliseconds;
}
else if (milliseconds >= 0 && seconds >= 10) {
document.getElementById("seconds").innerHTML =
seconds + ":" + milliseconds;
}
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
下面是一些对其进行分解并正确格式化的代码。
注意:我们有一个基准 'start' 日期可以减去,这使我们可以像真正的秒表一样工作。
let base = Date.now(); // Milliseconds
var testVar = window.setInterval(update, 10);
const displayNum = (num) => num.toString().padStart(2,'0');
function update() {
let mil = Date.now() - base;
let sec = Math.floor( mil/1000 );
mil = mil%1000;
let min = Math.floor( sec/60 );
sec = sec%60;
document.getElementById("seconds").innerHTML = `${displayNum(min)}:${displayNum(sec)}:${displayNum(mil)}`;
}
#seconds {
background-color: yellow;
max-width: 17%;
}
<!DOCTYPE html>
<head>
<title>
Stop Watch
</title>
</head>
<body>
<h1>
Stop Watch
</h1>
<p>Elapsed Time:</p>
<p id="seconds"></p>
</body>