inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

js 겜블링 게임 클릭횟수, 재시작 질문

515

작성자 없음

0

html css js 사용하여서 겜블링 게임 만드는 중입니다.

click 버튼 눌렀을 때 밑에 횟수가 뜨는게 아니라 버튼 안에서

click1, click2 .. 이런 식으로 증가시키고 싶은데 숫자가 자꾸 밑으로 내려갑니다 ㅠㅠ

그리고 오류가 있는지 restart 버튼은 눌리지 않습니다..

 

 

js javascript 자바스크립트

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

HTML, CSS, JS로 구성된 겜블링 게임을 만드시고 계신 것 같군요. 클릭 횟수가 버튼 안이 아닌 밑으로 표시되는 문제와 리스타트 버튼이 동작하지 않는 이슈를 해결해 드리도록 하겠습니다.

  1. 클릭 횟수가 버튼 안에 표시되지 않는 문제:
    버튼 내부에서 클릭 횟수를 표시하려면 클릭 이벤트가 발생할 때마다 버튼의 텍스트를 업데이트해야 합니다. 현재 구현하신 코드는 div 요소를 새로 만들어 결과를 추가하고 있어서 클릭할 때마다 텍스트가 버튼 아래에 추가되는 형태이지만, 아래와 같이 버튼 텍스트를 직접 변경하도록 코드를 수정하면 원하시는 대로 클릭 횟수를 표시할 수 있을 것입니다.
function shuffle() {
    trial++;
    let numbers = document.getElementsByClassName("number");
    let clickButton = document.querySelector("button"); // 클릭 버튼을 선택합니다.
    for (let i = 0; i < 3; i++) {
        numbers[i].textContent = Math.floor(Math.random() * 3);
    }
    // 클릭 버튼의 텍스트를 업데이트합니다.
    clickButton.textContent = 'click' + trial;

    if (numbers[0].textContent === numbers[1].textContent && numbers[1].textContent === numbers[2].textContent) {
        appendResult("Congratulation !! Press restart btn to play again");
    } else {
        appendResult("Restart");
    }
}
  1. ‘Restart’ 버튼이 동작하지 않는 문제:
    ‘Restart’ 버튼이 동작하지 않는 경우는 보통 이벤트 핸들러에 문제가 있거나 자바스크립트 함수에 오류가 있는 경우입니다. 코드를 검토해보니 removeChildren 함수 내에서 childNodes 변수가 중복 선언되어 있고, childNodes 대신 childNode를 사용하고 있습니다. 이부분을 수정하면 문제가 해결될 수 있습니다.
function removeChildren(y) {
    let parentId = y.parentId;
    let childName = y.childName;

    let parent = document.getElementById(parentId);
    let childNodes = parent.childNodes;
    for (let i = childNodes.length - 1; i >= 0; i--) {
        let childNode = childNodes[i]; // 변수명을 childNode로 수정합니다.

        if (childNode.name === childName) {
            childNode.parentNode.removeChild(childNode);
        }
    }
}

위와 같이 코드를 수정하여 클릭 횟수가 버튼 안에서 표시되고, ‘Restart’ 버튼이 정상적으로 동작하도록 해보세요. 만약 문제가 해결되지 않는다면 또 다른 오류가 없는지 코드를 전반적으로 재검토해 보시는 것이 좋습니다.

수강자료 다운로드 관련 문의

0

19

2

선택정렬 이해하기 & 구현하기

0

9

1

mission12-01 guide.md파일 누락

0

14

1

자료집 관련

0

25

2

13. (App 2) 기본기 훈련 에서

0

34

1

챌린지 시작일 문의

0

39

0

2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중

0

32

1

11차시 Antigravity IDE 설치 후

0

34

1

처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법

0

36

1

5,6,7,8 내용이 없어요

0

33

1

ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?

0

31

1

mission 09-01 을 수행할 수 없어요

0

33

1

Context API vs Zustand 그리고 Auth

0

39

2

순수 함수 / 순수 컴포넌트

0

27

1

css box-sizing 관련 질문

0

35

2

스니펫이 이상해요

0

34

2

Editor Component의 최적화 불가능 이슈

0

39

2

useCallback ⊂ useMemo

0

38

2

깃허브 저장소를 어디에 첨부하셨나요?

1

45

1

nestjs 강의는 없나요??

1

42

2

스타터 저장소

1

46

1

What is Rxjs

0

33

1

라이브러리 설치 질문

0

35

2

linter 질문

0

42

2