亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS 如何像 Timer 一樣減去時間(包括毫秒)

JS 如何像 Timer 一樣減去時間(包括毫秒)

LEATH 2022-01-07 16:31:18
我是新來的,我正在嘗試為自己編寫一些代碼。我在這段代碼中有自己的“時鐘”。然后我指定一個確切的時間。然后我想用毫秒減去我在實際時間(如計時器或倒計時)之前指定的確切時間。但我真的不知道怎么做。到目前為止,這是我的代碼:<!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".
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

您可以在大多數現代 Javascript 引擎中使用 Performance 接口。


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>


查看完整回答
反對 回復 2022-01-07
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

這就是它的工作原理。:-)


var z = (document.getElementById("ABZ").value).split(':').join(',').split('.').join(',').split(',').join(',').split(',');

var y = new Date();

var generatedDate = new Date(y.getFullYear(), y.getMonth(),y.getDate(),z[0], z[1], z[2], z[3], z[4], z[5]);

var calculatedDate = generatedDate - y;

var h = Math.floor((calculatedDate % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));

var m = Math.floor((calculatedDate % (1000 * 60 * 60)) / (1000 * 60));

var s = Math.floor((calculatedDate % (1000 * 60)) / 1000);

var ms = Math.floor((calculatedDate % 1000));

document.getElementById("COUNTDOWN").innerHTML = ( h + ':' + m + ':' + s + ':' + ms);```


查看完整回答
反對 回復 2022-01-07
  • 2 回答
  • 0 關注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號