Javascript 显示错误和页面重新加载问题
Javascript display error and page reload problems
所以我这次的项目是创建一个 tic tac toe 对抗 AI 的游戏,它将跟踪玩家、计算机和抽签赢得的游戏数量。我的问题是,当计算机或玩家获胜或出现平局时,它不会添加到 win/lose/draw,而是每次显示 [object HTMLElement] 后跟 1。
此外,当我只想清空棋盘时,开始新游戏会重新加载页面。这也重置了我不想要的 wins/loss/draw 的数量。
https://jsfiddle.net/e0z632pz/
winCheck = function () {
if ((a1 == a2 && a1 == a3 && (a1 == "x")) ||
(b1 == b2 && b1 == b3 && (b1 == "x")) ||
(c1 == c2 && c1 == c3 && (c1 == "x")) ||
(a1 == b1 && a1 == c1 && (a1 == "x")) ||
(a2 == b2 && a2 == c2 && (a2 == "x")) ||
(a3 == b3 && a3 == c3 && (a3 == "x")) ||
(a1 == b2 && a1 == c3 && (a1 == "x")) ||
(a3 == b2 && a3 == c1 && (a3 == "x"))
) {
xWin = true;
winAlert();
{
playerWin = playerWin + 1;
xWin = true;
document.getElementById("playerWin").innerHTML = playerWin;
}
我认为这尤其是问题所在。只修复一个就完美了,因为我可以弄清楚其余的。
(注意:我有这个用于 drag/drop,但我无法让它在 jsfiddle 上工作所以我将它更改为可点击的游戏,因为这不是我的问题,所以忽略图像框。)
(注2:我知道这可能很简单,但我已经醒了很久..哈哈)
谢谢!
你在哪里设置playerWin
?
我怀疑您这样做 var playerWin = document.getElementById("playerWin");
将变量设置为 HTMLElement。
您有一个 location.reload 可以重新加载新游戏的页面。而且 playerWin 似乎没有在任何地方定义,也没有初始值。也许声明它并将其设置为 0 开始?
更新:
要将所有图像移回拖动框,您需要执行以下操作
$('.ximage').each(function(){
$('.dragbox').append($(this));
});
您必须向图像添加 ximage class。现在他们把它作为 id。 Id 通常应该是唯一的。
所以我这次的项目是创建一个 tic tac toe 对抗 AI 的游戏,它将跟踪玩家、计算机和抽签赢得的游戏数量。我的问题是,当计算机或玩家获胜或出现平局时,它不会添加到 win/lose/draw,而是每次显示 [object HTMLElement] 后跟 1。
此外,当我只想清空棋盘时,开始新游戏会重新加载页面。这也重置了我不想要的 wins/loss/draw 的数量。
https://jsfiddle.net/e0z632pz/
winCheck = function () {
if ((a1 == a2 && a1 == a3 && (a1 == "x")) ||
(b1 == b2 && b1 == b3 && (b1 == "x")) ||
(c1 == c2 && c1 == c3 && (c1 == "x")) ||
(a1 == b1 && a1 == c1 && (a1 == "x")) ||
(a2 == b2 && a2 == c2 && (a2 == "x")) ||
(a3 == b3 && a3 == c3 && (a3 == "x")) ||
(a1 == b2 && a1 == c3 && (a1 == "x")) ||
(a3 == b2 && a3 == c1 && (a3 == "x"))
) {
xWin = true;
winAlert();
{
playerWin = playerWin + 1;
xWin = true;
document.getElementById("playerWin").innerHTML = playerWin;
}
我认为这尤其是问题所在。只修复一个就完美了,因为我可以弄清楚其余的。
(注意:我有这个用于 drag/drop,但我无法让它在 jsfiddle 上工作所以我将它更改为可点击的游戏,因为这不是我的问题,所以忽略图像框。)
(注2:我知道这可能很简单,但我已经醒了很久..哈哈)
谢谢!
你在哪里设置playerWin
?
我怀疑您这样做 var playerWin = document.getElementById("playerWin");
将变量设置为 HTMLElement。
您有一个 location.reload 可以重新加载新游戏的页面。而且 playerWin 似乎没有在任何地方定义,也没有初始值。也许声明它并将其设置为 0 开始?
更新:
要将所有图像移回拖动框,您需要执行以下操作
$('.ximage').each(function(){
$('.dragbox').append($(this));
});
您必须向图像添加 ximage class。现在他们把它作为 id。 Id 通常应该是唯一的。