테스트 사이트 - 개발 중인 베타 버전입니다

버튼 2클릭 시, 이미 열린 버튼1,3의 내용이 사라지게 하려면? 채택완료

sinbi 5년 전 조회 3,420

https://codepen.io/sinbi/pen/XWXNOyM">https://codepen.io/sinbi/pen/XWXNOyM

 

즉, 해당 번호의 내용만 나타나게 하려면 어떤 식으로 수정해야 할까요?

not() 이란 걸 써먹으면 어케 될 것도 같긴 한데....

 

관련글 https://sir.kr/qa/364660">https://sir.kr/qa/364660

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
sad4u
5년 전

단순하게 생각한다면, toggle 전에 해당하는 .con 클래스의 내용들을 먼저 숨김처리하면 되지 않을까요?

좀 조건이 들어가면 먹히지 않겠지만요

</p>

<p>$('.con').hide();</p>

<p>$(this).siblings(".con").toggle();</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
sinbi
5년 전
천재셈 !! (^ __________ ~ ) ===b
s
sinbi
5년 전
그런데 위처럼 하니까,
해당 요소의 toggle() 기능이 작동 안 되는 버그가 생기네요. ㅜㅜ
제이쿼리의 세계는 ....알다가도 모를 일이네요.ㅎ

댓글을 작성하려면 로그인이 필요합니다.

5년 전

버그는 아닙니다.

$('.con').hide();

=> 내용1, 내용2, 내용3 을 모두 숨김 처리

 

$(this).siblings(".con").toggle();

=> 나의 자매 내용만 토글 처리 (이전 라인에서 숨김 처리된 뒤이기 때문에.. 항상 보임처리로 작동합니다.)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

s
sinbi
5년 전
아하, 그렇게 된거군요. 설명 감사합니다.
s
sad4u
5년 전
저도 잘 모르던 부분이었는데 친절한 설명에 배워갑니다. 감사합니다. :D

댓글을 작성하려면 로그인이 필요합니다.

sad4u
5년 전

@sinbi 확신은 가지 않지만 간헐적으로 이벤트가 동작되는 순서가 꼬이는 경우로 보입니다.

hide 이벤트가 완료후에 toggle이 동작되도록 하면 되지 않을까 싶습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
5년 전
아직 실력이 부족해서, 종료 후 동작 그런 건 잘 몰라용. ㅎ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인