我是JavaScript新手,我試圖學會創建一個簡單的井字遊戲程序。在這個階段,我並不擔心重構,而是獲得基本元素的工作。下面的代碼:Javascript:使用按鈕保存.innerHTML數據
window.onload = function() {
// Establish the boxes for the selector
var boxOne = document.querySelector("#b1");
// Create an event when a box is clicked
boxOne.onclick = function() {
if (boxOne.innerHTML === "X") {
boxOne.innerHTML = "O";
} else {
boxOne.innerHTML = "X";
}
}
// Check the current innerHTML of the grid for a win.
var b1 = boxOne.innerHTML,
b2 = boxTwo.innerHTML,
b3 = boxThree.innerHTML,
b4 = boxFour.innerHTML,
b5 = boxFive.innerHTML,
b6 = boxSix.innerHTML,
b7 = boxSeven.innerHTML,
b8 = boxEight.innerHTML,
b9 = boxNine.innerHTML;
var board = [
[b1, b2, b3],
[b4, b5, b6],
[b7, b8, b9]
];
endButton.onclick = function() {
console.log(board);
}
var clearButton = document.getElementById('clear');
var allBoxes = document.querySelector(".box");
clearButton.onclick = function() {
allBoxes.innerHTML = "";
}
}
球員應該能夠點擊一個框來選擇X或O的話,我想他們點擊「結束回合」,讓遊戲可以檢查板和報告的當前狀態必要時可以獲勝。
但是,它似乎並沒有保存玩家的輸入。當我調用'.innerHTML'時,它只是返回一個空白數組。然而,如果我看一下瀏覽器控制檯,就會發現'.innerHTML'元素中有一個X或O.所以數據在那裏,但它沒有被輸入到數組中。我試圖在不同的實現上測試它,但數組仍然是空白的。
「清除」按鈕也不起作用。到目前爲止我所使用的所有東西都使用我在這裏作爲例子來清除元素的HTML輸入。
任何人都可以幫我理解我的代碼有什麼問題嗎?謝謝。
附加信息: 您可以查看我當前所有的工作文件here on Github,其中包括HTML,CSS和JS文檔。
感謝您對變量的順序和位置的反饋!那就是訣竅。我不會認爲這是問題。此外,我很欣賞重構報價,但如前所述,我並不擔心重構或直接解決方案。我只需要了解我有什麼以及它實際做了什麼,這樣我就可以盡我所能地瞭解自己的情況。再次感謝你。 – Proto 2014-11-23 07:13:13