我是新来的,我正在尝试为自己编写一些代码。
在这段代码中我确实有自己的“时钟”。然后我指定一个确切的时间。
然后我想从我在实际时间(如计时器或倒计时)之前指定的确切时间中减去毫秒。
但是我真的不知道怎么办。
这是我到目前为止的代码:
<!DOCTYPE html>
<html>
<head>
<title>DSTimer</title>
</head>
<body>
<center><font face="Verdana" size="40">DS-Timer</font><br /></center>
<br />
<br />
<font size="+7" </font>
<p id="DS-Timer">getElementById</p>
<font size="-1" </font>
<p id="ABC"></p>
<font size="+1" </font>
<label class="h2" for="delay">Verbindungszeit zum Server</label>
<input type="number" name="Verbindungszeit zum Server" id="delay" maxlength="3">
<button onclick="addDelay()" type="submit">OK</button>
<p> <label for="Abschickzeitpunkt">Abschickzeitpunkt</label>
<input type="time" step="0.001" id="ABZ">
<button onclick="insert()" type="submit">OK</button></p>
<button type="reset">Eingaben zurücksetzen</button>
</form>
</body>
<script>
var delay = 0;
timer();
function timer() {
var now = new Date();
var test = new Date(now.getTime() + delay),
h = test.getHours(),
m = test.getMinutes(),
s = test.getSeconds(),
ms = test.getMilliseconds();
m = zeroFill(m);
s = zeroFill(s);
ms = zeroFill(ms);
document.getElementById('DS-Timer').innerHTML = h + ':' + m + ':' + s + ':' + ms;
setTimeout(timer, 5);
}
function zeroFill(filler) {
filler = (filler < 10 ? '0' : '') + filler;
return filler;
}
function addDelay() {
var d = document.getElementById('delay').value;
delay = parseFloat(d);
}
function insert() {
var x = document.getElementById("ABZ").value
document.getElementById("ABC").innerHTML = x;
}
</script>
</html>```
So I want to calculate "DS-Timer - ABC".
最佳答案
您可以在大多数现代 Javascript 引擎中使用性能接口(interface)。
let start = performance.now();
let timer = document.getElementById("timer");
for(let i = 0;i<5000;i++){
timer.innerText = i;
}
let end = performance.now();
let elapsed = end - start;
timer.innerText += " that took "+elapsed+" ms"
<h1 id="timer"></h1>
在这里阅读更多相关信息: Performance Interface
关于javascript - JS 如何像计时器一样减去时间(包括毫秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58983270/