Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内部文本不';不变_Javascript_Html - Fatal编程技术网

Javascript 内部文本不';不变

Javascript 内部文本不';不变,javascript,html,Javascript,Html,我正在学习JavaScript,我想我会做一个井字游戏来练习 我有一个名为:displayMessage()的函数,用于更改标记中的文本 function displayMessage(message) { turn_p.innerHTML = message} 每当它发生变化时,我调用这个函数,它就会按预期工作 function setNextPlayerTurn(currentPlayer) { currentPlayer === "X" ? player = "O" : player =

我正在学习JavaScript,我想我会做一个井字游戏来练习

我有一个名为:
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;
    }