最初のsymbDispは、td
の代わりにthis
としてwindow
を受信しています。
チェンジ・ライン10なぜなら、あなたがサブ関数にthis
を渡す必要が変化
$('.square').on('click', function() { game(this) });
へ。だから、次のように変更します。
124: function game(ths){
125:
126: symbDisp(ths);
をし、その後にsymbDispを変更します。
function symbDisp (ths) {
if($(ths).text()==='') {
$(ths).text(pTurn);
if(pTurn == player){
pTurn =comp;
}else{
pTurn=player;
}
}
}
別のエラーがあります:それは最初symbDisp機能に到達したときpTurnは未定義です。だから、にuserIcon変更:
function userIcon() {
if($(this).attr("id")=="x"){
player = pTurn ="X";
comp ="O";
} else if($(this).attr("id")=="o"){
player = pTurn ="O";
comp ="X";
}
$('#user').fadeOut(1000);
}
プレーヤーがsettedされたとき、私はpTurnをsettedていることがわかります。
これだけです。今はうまくいくはずです。私はここで作業バージョンをフォーク:
http://codepen.io/anon/pen/oxPyej
は、それはあなたが答えが有用であることが判明した場合、あなたが最も有用だったと思うものをupvoteし、受け入れてください
お役に立てば幸いです。ありがとう。 –