Javascript 内部文本不';不变
我正在学习JavaScript,我想我会做一个井字游戏来练习 我有一个名为:Javascript 内部文本不';不变,javascript,html,Javascript,Html,我正在学习JavaScript,我想我会做一个井字游戏来练习 我有一个名为:displayMessage()的函数,用于更改标记中的文本 function displayMessage(message) { turn_p.innerHTML = message} 每当它发生变化时,我调用这个函数,它就会按预期工作 function setNextPlayerTurn(currentPlayer) { currentPlayer === "X" ? player = "O" : player =
displayMessage()
的函数,用于更改
标记中的文本
function displayMessage(message) {
turn_p.innerHTML = message}
每当它发生变化时,我调用这个函数,它就会按预期工作
function setNextPlayerTurn(currentPlayer) {
currentPlayer === "X" ? player = "O" : player = "X"
displayMessage(`${player}'s turn!`)}
但是当我在比赛结束时打电话给胜利者时,它就不起作用了
function endGame() {
cells.forEach((cell) => {
cell.removeEventListener('click', turnClick, false);
})
displayMessage(`${player} player Won!`)}
endGame()
函数由另一个名为:checkWin()
的函数调用。如果checkWin()
为true,则调用endGame()
我能做些什么来解决这个问题
完整代码:正如@Robin Zigmond所说,问题在于它会立即进入下一个回合,不管怎样,这包括将消息设置为下一个玩家的回合 我做了一些改变,效果很好
function turn(squareId) {
//code...
checkWinAndDraw();
if (gameEnded != true) {
setNextPlayerTurn(player);
}
}
function checkWinAndDraw() {
if (//condition)
} else {
checkDraw();
}}
function checkDraw() {
if (board.every(square => square == 'X' || square == 'O')) {
displayMessage(`It's a Draw!`);
gameEnded = true;
}
}
function endGame() {
//code...
displayMessage(`${player} player Won!`)
gameEnded = true;
}
“它不起作用”到底是什么意思?有什么事发生吗?是否报告了错误?你做了什么来调查这个问题?标签上的文本没有改变。我试着不打电话给de Function,简单地说:turn_p.innerHTML=
${player}player赢了
也不起作用。您是否尝试添加console.log()
调用以验证是否调用了endGame()
?请创建一个,包括HTML和相关CSS。问题本身应包含所有相关代码。通过将代码保存在StackOverflow上,让我们尽可能方便地帮助您
function turn(squareId) {
//code...
checkWinAndDraw();
if (gameEnded != true) {
setNextPlayerTurn(player);
}
}
function checkWinAndDraw() {
if (//condition)
} else {
checkDraw();
}}
function checkDraw() {
if (board.every(square => square == 'X' || square == 'O')) {
displayMessage(`It's a Draw!`);
gameEnded = true;
}
}
function endGame() {
//code...
displayMessage(`${player} player Won!`)
gameEnded = true;
}