用JS中的if语句检查按钮是否按下

问题描述 投票:0回答:1

我正在尝试制作一个简单的点击游戏,我正在尝试实现升级系统,但我希望在按下重置按钮时停止生成升级。我有什么想法可以做到这一点吗?

JavaScript

const btnElement = document.getElementById("btn");
const btnElement1 = document.getElementById("btn1");
const btnElement2 = document.getElementById("btn2");
const spnElement = document.getElementById("span");
let score = 1;

btnElement2.addEventListener("click", () => {
    if (score < 10){
        console.log("poor");
    }
    else if (score >= 10){
        var interval = setInterval( increment, 1000);

        function increment(){
            score = score % 360 + 1;
            spnElement.innerText = score;
        }
    }
})

btnElement.addEventListener("click", () => {
    spnElement.innerText = score++;
})

btnElement1.addEventListener("click", () => {
    spnElement.innerText = 0;
    score = 1;
})

document.body.addEventListener("keyup", function (event) {
    if (event.code === "Space"){
        spnElement.innerText = score++;
    }
})

document.body.addEventListener("keydown", function (event) {
    if (event.code === "Space"){
        spnElement.innerText = score;
    }
})

document.body.addEventListener("keydown", function (event) {
    if (event.code === "Enter"){
        spnElement.innerText = 0;
        score = 1;
    }
})

CSS

body{
    background-color:  lightblue;
    color: #333;
    font-family: Arial, Helvetica, sans-serif;
}

#header{
    background-color: lightcyan;
    position: absolute;
    right: 0;
    top: 0px;
    margin: 0px;
    border-width: 2px;
    border-bottom-width: 2px;
    border-bottom-color: whitesmoke;
    border-bottom-style: solid;
    width: 100.09%;
}

#btns{
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
}

.btns{
    background-color: lavender;
    color: #333;
    border-width: 1px;
    border-color: palegreen;
    border-radius: 5px;
}

.btns:hover{
    background-color: mediumpurple;
}

#text{
    text-align: center;
}

HTML

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Clicker</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
        <div id="header">
            <div id="text">
                <h1>Clicker</h1>
                <h2><span id="span">0</span></h2>
            </div>
            <div id="btns">
                <button id="btn" class="btns">+</button>
                <button id="btn1" class="btns">Reset</button>
                <button id="btn2" class="btns">Skibidi 1 (10 clicks)</button>
            </div>
        </div>

        <script src="script.js"></script>
    </body>
</html>

这是我尝试使用所有我能在网上找到的东西

我添加了这个if语句来看看它是否有效,我主要想知道是否有一种方法可以在if语句中检查按钮是否被按下

if (btnElement1.addEventListener("click", (any))){
    return;
}
javascript if-statement button
1个回答
0
投票

您可以使用事件监听器回调。

btnElement1.addEventListener("click", callbackFn);

当您在

addEventListener
上使用
btnElement1
并订阅事件
click
时,只要有人点击
callbackFn
,它就会调用提供的
btnElement1

因此,您可以在

callbackFn
中实现您计划在
if
语句中编写的逻辑。

例如,使用箭头函数作为回调,接收包含执行单击的元素信息的事件对象:

btnElement1.addEventListener("click", (event) => {
    //write your logic here
});
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.