簡體   English   中英

如何制作不直接啟動的計時器?

[英]How to make a timer which doesnt start dircetly?

所以我想制作一個魔方計時器(例如 cstimer.net)。
就像你保持空間一會兒,你可以釋放並開始。
但是如果你按下空格並立即釋放它就不會啟動。
查看網站以了解我的意思。

但我不明白我該怎么做,因為我嘗試了一些東西,但我無法弄清楚!

這就是我會做的,但我不知道更多

document.addEventListener("keydown", (e) => {
    if (e.keyCode === 32) {
        spacedown = true;
    }
})


document.addEventListener("keyup", (e) => {
    if (e.keyCode === 32) {
        spacedown = false;
    }
})```

我想我發現了,代碼是這樣的

let spacedown = false;
let spaceddown = false;
let ready = false;

document.addEventListener("keydown", (e) => {
    if (e.keyCode === 32) {
        spacedown = true;
        if (!spaceddown) {
            console.log('keydown & !spaceddown');
            start();
        }
        spaceddown = true;
    }
});

document.addEventListener("keyup", (e) => {
    if (e.keyCode === 32) {
        console.log('keyup');
        spacedown = false;
        spaceddown = false;
        start();
        ready = false;
    }
});

function start() {
    if (ready) {

        console.log('REadyyy'),
        timer.style.backgroundColor = 'white';
        startTimer();
        return
    }

    if (!spacedown) {

        console.log('not space'),
            timer.style.backgroundColor = 'white';
        return
    }

    setTimeout(() => {
        if (spacedown) {
            console.log('yellow');
            timer.style.backgroundColor = 'yellow';
        }
    }, 500)
    setTimeout(() => {
        if (spacedown) {
            console.log('red');
            timer.style.backgroundColor = 'red';
        }
    }, 1000)
    setTimeout(() => {
        if (spacedown) {
            ready = true;
            console.log('green');
            timer.style.backgroundColor = 'green';
        }
    }, 1500)
}

function startTimer(){
//your timer code
}```

暫無
暫無

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

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