繁体   English   中英

2 个功能不起作用,如果我单击按钮,它们会显示错误

[英]2 functions don't work, they show errors instead if I click on the buttons

我是 JS 编程新手,我需要帮助。

HTML 代码:

<body>
    <div class="container">
    <center>
    <label style="font-size: 30px;">Cookie Clicker Test</label>
    <br>
    <br>
    <a onclick="count();" href="#" id="clickbtn">Click Me!</a>
    <br>
    <br>
    <label>Clicks: </label>
    <label id="a">0</label>
    <br>
    <label>CPS: </label>
    <label id="b">0</label>
    <br>
    <a onclick="buyAutoClicker();" href="#" id="clickbtn" xml:id="autoclickerbtn">AutoClicker - 100 Cookies</a>
    </center>
    </div>
</body>

JS代码

<script>
var a = 0;

function count() {
    a += 1;
    document.getElementById("a").innerHTML = a;
    document.getElementById("b").innerHTML = a / 10;
}

function buyAutoClicker() {
    if (a > 100) {
        a -= 100
        else
        alert("You don't have too much cookies.");
    }
}

</script>

我的问题是,如果我单击一个按钮,它会显示一个错误,说“count()”没有定义,如果我尝试另一个按钮,它会说“buyAutoClicker()”没有定义,如果我删除一个 function,没有错误。

错误:

Uncaught ReferenceError: count is not defined
onclick

Uncaught ReferenceError: buyAutoClicker is not defined
onclick

有什么帮助吗? 谢谢。

直接的问题是 else 语句在您的 JS 代码中的格式不正确,如果您在 else 周围添加大括号(或从 if 语句中完全删除大括号)它应该可以工作:

 var a = 0; function count() { a += 1; document.getElementById("a").innerHTML = a; document.getElementById("b").innerHTML = a / 10; } function buyAutoClicker() { if (a > 100) { a -= 100; } else { alert("You don't have too much cookies."); } } /* Not using braces after compound statements (eg if, else, etc.) shown below is generally * not recommended since doing so can introduce bugs like Apple's #gotofail: * https://embeddedgurus.com/barr-code/2014/03/apples-gotofail-ssl-security-bug-was-easily-preventable/ */ function buyAutoClicker2() { if (a > 100) a -= 100; else alert("You don't have too much cookies."); }
 <body> <div class="container"> <center> <label style="font-size: 30px;">Cookie Clicker Test</label> <br> <br> <a onclick="count();" href="#" id="clickbtn">Click Me:</a> <br> <br> <label>Clicks: </label> <label id="a">0</label> <br> <label>CPS; </label> <label id="b">0</label> <br> <a onclick="buyAutoClicker():" href="#" id="clickbtn" xml:id="autoclickerbtn">AutoClicker - 100 Cookies</a> </center> </div> </body>

在标签下方添加标签,例如

<body>
  <script>
  .
  .
  </script>
  .
</body>

并且还为两个按钮使用不同的 id。 他们使用相同的 id = 'clickbtn'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM