• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

문열고닫히고 질문..

20.09.17 16:16 작성 조회수 114

0

코드를 보면 clickHandler에서

1. currentItem에 값이 들어있을 경우 inactivate 함수를 실행

2. targeElement가 door-body인 경우 activate함수를 실행

1 -> 2 번 순으로 실행해서 다른문이 열리기 전에 열려있던 문이닫히고는 알겠습니다.  

그런데 같은문을 클릭했을경우 닫히고 끝인데요 

코드만보면 2번도 실행되서 다시 열려야되는거 아닌가요? 

그리고 while문으로 특정한 element만 클릭되게 만들시 

while문으로 targetElem을 정의하고 

2번 코드에서 조건문만 없애고 함수실행해서 인자로 정으된 targetElem만넣어주면 동일한 코드인지 알고싶습니다~

답변 1

답변을 작성해보세요.

1

1.

if (targetElem.classList.contains('door-body')) {
    activate(targetElem.parentNode);
}

이 부분 코드를 보면,  targetElem이 "door-body" 클래스를 갖고있을 경우에만 동작하는데요,
그래서 door-body(녹색문, 파란문 등 문짝)를 클릭하면 생각하신대로 그대로 남아 있습니다.

2.
while을 이용해 특정 엘리먼트를 선택하는 방식이 복잡한 계층에서도 동작하기 때문에 더 좋습니다.
https://www.youtube.com/watch?v=-fFNuNsR8q4&t=483s
해당 영상의 고정댓글도 참고하시면 좋습니다^^