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

jquery 질문입니다.. (모달창)

소솝빵 5년 전 조회 6,269

안녕하세요. jquery에서 div의 id값을 받아와서(꼭 id값을 받아야합니다..)
모달창을 여는것 까진 성공했는데 동일하게 했는데 닫기가 안됩니다..ㅠㅠ
console로 찍어봐도 id값이 동일하게 출력되는데 닫기가 안됩니다..ㅠㅠㅠ

 

 

최상단에 $("#"+getId).show()는 되게 잘됩니다..ㅠ

 

 

 


개발자모드에서도 id값이 console에서 동일하게 찍힙니다..


 

문제가 뭘까요..ㅠㅠ 고수님들 부탁드립니다..ㅠ.

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

답변 2개

4년 전

<a> 태그 내부에 <div> 태그가 위치하고 있기 때문에 div.ingre-close 의 클릭 이벤트 이후에 a.ingredient 의 클릭 이벤트가 한번 더 실행됩니다.

즉, 실제로는 hide() 가 정상 작동됐지만 이후에 다시 show() 가 작동되어 화면상 변화가 없는 것입니다.

(console.log로 각각의 클릭 이벤트 작동 여부를 확인해보시면 알기 쉽습니다.)

<div> 부분들을 외부로 분리하시거나 이벤트 구역을 분리하시는 편이 좋을 듯합니다.

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

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

5년 전

$('#'+idd).css(~

->

$('#'+idd).hide();

로 변경해 보면 어떨까 싶습니다.

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

답변에 대한 댓글 3개

소솝빵
5년 전
답변 감사합니다.ㅠㅠ hide();로 구현해도 안되서 display:none으로 했는데도 안되네요 ㅠㅠ
마르스컴퍼니
5년 전
<a> ~



구조인데 </a> 태그가 없어서..

해당 모든 영역을 클릭했을 때.. (닫기버튼을 클릭해도)

$('a.ingradient').click(~

이 작동할 가능성이 있어 보입니다. <a> 태그 부분을 재작성해 볼 수 있을 것 같습니다.



가령, <a class="ingradient" ~>열기</a> <div class="overlay" ~
소솝빵
5년 전
핫.. 저게 소스를 다 긁어온게 아니라서 ㅠ.ㅠ 밑에 종료 a태그도 있습니다.!
한번 더 확인해보겠습니다 답변주셔서 감사합니다 ( _ _ ) !

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

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

로그인