2017-12-17 20 views
-3

나는 동적으로 요소를 만드는 카드 매칭 게임을 가지고 있으며, 기능을 실행하기 전에 사용자가 두 개의 버튼/카드를 클릭하게하고 싶다.자바 스크립트 또는 jquery에서 함수를 실행하기 전에 클릭했거나 기다린 두 개의 버튼을 기다리는 방법?

기본적으로 두 단추 ID가 같은지 확인하는 방법을 이해할 수 없습니까?

다음은 내가 시도한 몇 가지 예입니다.

$(document).on('click','.myClassIMade',function(){ 

if($(this).data('clicked', true) * 2) 

}); 


function getValues(){ 
    while(".myClassIMade input" <= 1){ 

     if(this.id === this.id) 
      { 
       alert('wrong guess, only correct guessing appear'); 
      } 
     else{ 
       this.setAttribute('value', this.id); 
      } 
    } 
} 
+3

은 어쩌면 당신은, 코드의 목적을 설명해야 ... 당신은 "메모리"게임을 구현하려고합니까? https://stackoverflow.com/questions/29329698/html5-memory-game-javascript-function – trincot

답변

0

가 여기에 게임 내 구현, 당신은 우리가 오류 메시지 후 변수를 재설정, 두 변수에 클릭 저장소 그것을보고, 두 번 누르면 결과를 반환 할 수 있습니다.

이 정보가 도움이되는지 알려주세요.

var prev, curr; 
 
$('button').on("click", function() { 
 
    if (!prev) { 
 
    prev = $(this).attr('class'); 
 
    } else { 
 
    curr = $(this).attr('class'); 
 
    if (curr === prev) { 
 
     alert("Matches"); 
 
    } else { 
 
     alert("Wrong, try again!"); 
 
    } 
 
    curr = null; 
 
    prev = null; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="one">1</button> 
 
<button class="two">2</button> 
 
<button class="three">3</button> 
 
<button class="one">4</button>

+0

두 값을 모두 this.setAttribute ('value', this.id) **로 설정하는 방법은 무엇입니까? 클릭 한 두 번째 광고 만 변경하고 있습니까? –

1

이것은 쉬운 높은 수준의 데이터 구조 질문과 유사합니다. 클릭을 추적하고 클릭 한 버튼의 클래스 이름을 저장해야합니다. 두 번째 버튼을 클릭하면 해당 버튼의 클래스 이름을 별도의 변수에 저장합니다.

여기에서 개발자가 결정한대로 잘못된 경우 게임이 재설정됩니까? 또는 두 번째 승리와 일치하는 경우 세 번째 클릭 수 있습니까?

let first; 
let second; 

document.getElementById('btn1').onclick = function() { first = this.className } 
document.getElementById('btn2').onclick = function() { second = this.className } 

{first === second ? alert('You Win') : alert('whoops, guess again')} 
1

각 클릭 요소에 클래스를 추가하고 새로운 클래스와 요소의 길이가 2와 동일한 경우는 다음 확인하고 ATTR ID가 동일한 경우 비교할 수 있습니다. 이 같은 뭔가 : 어디서부터 시작하기로 결정하기 어려운 많은 결함을 가지고 있기 때문에

$(document).on("click", ".myClassIMade", function() { 

    $(this).addClass('clicked'); 
    var clicked = $('.clicked'); 

    if (clicked.length == 2) { 

     if (clicked.attr('id') == $(clicked[1]).attr('id')) 
      Your code 
     } 
+0

id를 명확히하기 위해서는 HTML 문서 내에서 id가 고유해야하므로 class, title 또는 data- *와 같은 다른 html 속성을 사용하는 것이 좋습니다. –