我在使用Javascript實現點擊計數器時遇到了一些問題。我用Google搜索了一下,但我無法弄清楚我的代碼中的錯誤。在Javascript中點擊計數器實現
在下面的筆中,我使用了guesses
變量作爲計數器。似乎每次我點擊提交,我的guesses
變量被重置爲零。
我也是在這裏粘貼代碼片段:
//let targetNumber = Math.floor(Math.random() * 10) + 1;
let targetNumber = 6;
var guesses = 0;
function init() {
var button = document.getElementsByTagName("button")[0];
button.addEventListener("click", function() {
var guess = document.getElementsByName("number")[0]["value"];
guesses += 1;
guess = parseInt(guess);
check(guess);
});
}
function check(value) {
if (guesses < 5) {
if (value === targetNumber) {
showWin();
} else {
showError();
}
} else {
showLoss();
}
}
function showWin() {
var p = document.createElement("P");
var t = document.createTextNode("You Won!");
p.appendChild(t);
document.body.appendChild(p);
//document.getElementsByTagName("p")[0].innerHTML = "You Won!";
document.getElementsByTagName("form")[0].style.display = "none";
}
function showError() {
var p = document.createElement("P");
var t = document.createTextNode("Incorrect Guess! Try again.");
p.appendChild(t);
document.body.appendChild(p);
}
function showLoss() {
var p = document.createElement("P");
var t = document.createTextNode("You Lost!");
p.appendChild(t);
document.body.appendChild(p);
document.getElementsByTagName("form")[0].style.display = "none";
}
init();
<p>Guess a number between 1 and 10</p>
<form>
<input type="text" name="number">
<button>Submit</button>
</form>
謝謝皮特。 @HaukurHaf,你的回答也起作用。我剛剛接受了這個答案,因爲它向我介紹了一個具有有用功能的新功能(我是一名初學者)。 –
不客氣,很高興我能幫忙:) – Pete