[英]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.