2013-05-05 2 views
1

자바 스크립트에서 게임을 다시 시작할 수 있도록 재설정 할 수있는 버튼을 가져올 수 없습니다. http://jsfiddle.net/jbirdwell/Q3wEZ/Tic Tac Toe 게임 JavaScript

HTML :

<h1>Tic Tac Toe</h1> 

<div></div> 
<div></div> 
<div></div> 
<br> 
<div></div> 
<div></div> 
<div></div> 
<br> 
<div></div> 
<div></div> 
<div></div> 
<br> 
<button>New Game</button> 

자바 스크립트 :

버튼 클릭 이벤트가 실행
var x = false; 

$(document).ready(function() { 
    $('div').click(function() { 
     if (!x) { 
      $(this).toggleClass('user1'); 
      x = true; 
     } else { 
      $(this).toggleClass('user2'); 
      x = false; 
     } 
    }); 

    $('button').click(function() { 
     $('div').toggleClass('newgame'); 
    });  
}); 

일단 내가 처음으로 다시 갈 수 없어 여기

코드에 대한 링크입니다 다시 놀아 라.

+1

당신이 CSS에 대한 몇 가지 오해가 보인다. '$ ('div'). toggleClass ('newgame')'은 당신이 생각하는대로하지 않습니다. –

+0

예, 했어요. 나는 지금 배웠다. 나는 Html & Javascript를 어제 배우기 시작했다. –

답변

2

당신은 아마 뭔가 비슷한 제품을 더 원하는 일을해야 필드의 색상은 여전히 ​​"user1"및 "user2"클래스입니다. 따라서 리셋해야합니다. 나는 그것이 작동하도록 코드를 변경 한

here

$('button').click(function() { 
    $("div").removeClass("user1"); 
    $("div").removeClass("user2"); 
}); 
+0

이것은 작동한다! 고마워, 알렉스! 나는 배우고 있으며 이것은 지난 몇 시간 동안의 나의 탐구 다. –

+0

@Jbirdwell 두 번째 게임에서 플레이어가 다른 경우에는 'x' 변수를 재설정하는 것을 잊지 마십시오. –

+0

굉장합니다. x를 false로 재설정했습니다. 이제 감사합니다. 나는 좋은 시간 동안이 문제와 싸우고 있었다. –

2

그들이 여전히 다른 클래스를 가지고 있기 때문에,로 변경합니다 : 당신은 변경할 수 있지만 ...

$('button').click(function() { 
    $('div').removeClass("user1 user2"); 
}); 
+1

'newgame' 클래스는 더 이상 필요하지 않습니다. – JJJ

+0

사실,하지만 그는 다른 이유로 그것을 필요로 할 수도 있습니다. 그것은 너 자신 그것을 밖으로 일하는 것이 충분하다 :) –

0

$('button').click(function() { 
    $('div').toggleClass('newgame'); 
    $('div').removeClass('user1 user2'); 
    x = false; 
});