簡體   English   中英

如何防止倒計時計數器在同一秒內生成超過 1 個值?

[英]How to prevent the countdown counter from generating more than 1 value in the same second?

在下面的代碼中,我將剩余值生成為秒。 如果等於或小於100毫秒,我輸入else並向另一個function發送請求。 這里有一個問題,計數器在1毫秒內生成多個值,並重復進入else。 或者,如果我在 1 秒內將條件寫入 else function 作為條件,它會產生類似 969,871,771 的值並重復輸入 else function。 我怎樣才能解決這個問題?

function reset() {
        }
        function millisToMinutesAndSeconds(millis) {
            var seconds = ((millis % 60000) / 1000).toFixed(0);
            return (seconds < 10 ? "0" : "") + seconds;
        }
        setInterval(function () {
            var remaining = 25000 - (Date.now() % 25000);
            if (remaining > 100) {
                document.getElementById("timer").innerText =
                    millisToMinutesAndSeconds(remaining);
            } else {
                tensecond();
            }
        }, 100);


function tensecond() {
            }
            function millisToMinutesAndSeconds(millis) {
                var seconds = ((millis % 60000) / 1000).toFixed(0);
                return (seconds < 10 ? "0" : "") + seconds;
            }
            setInterval(function () {
                var remaining = 10000 - (Date.now() % 10000);
                if (remaining > 100) {
                    document.getElementById("timer").innerText =
                        millisToMinutesAndSeconds(remaining);
                } else {
                    reset();
                }
            }, 100);
function counter(value, resetValue) {
  if (value === 0) counter(resetValue, resetValue === 10 ? 25 : 10);
  const use_this_value = value.toString().padStart(2, '0');
  setTimeout(() => counter(value--, resetValue), 1000);
}

看看這是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM