Jquery 토글 질문입니다 채택완료
니냐노
3년 전
조회 3,977
</p>
<pre>
$('#menu_open').click(function(){
$('#category').slideToggle();
});</pre>
<p>
현재 슬라이드 토글로만 이루어져잇는데
다른곳 (헤드를 클릭하든 슬라이드 토글이 아닌곳 )을 클릭해도 슬라이드 업 하게끔
하려고 하는데 버블링이 일어나서 그런가 계속 메롱 하듯이 열렷다 다시 닫혓다 하더라구요;;
</p>
<pre>
$('#menu_open').click(function(){
$('#category').slideToggle();
});
$('#menu_open').click(function (e){
e.preventDefault();
if(e.target!=$('#category')){
$('#category').slideUp();
}
});</pre>
<p>
현재 제가 쓴 코드입니다 어떻게 바꿔야 될까요
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
3년 전
불린변수를 하나 만들어서 토글업일 때는 true, 토글다운일 때는 false 로 주고 이프문을 걸어 상황에 맞게 변수값을 바꿔치기하면서 사용하시면 될 것 같습니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
if(e.target!=$('#category'))
이 조건문 부분이 하나는 jquery 객체, 하나는 javascript 객체를 가리키고 있네요
e.target != document.querySelector('#category') 또는 $(e.target) != $('#category')로 해보세요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
니냐노
3년 전
e.target e.currentTarget e.preventDefault() e.stopPropagation()은 안해도 되는걸로 알고잇습니다
�
니냐노
3년 전
e.target e.currentTarget e.preventDefault() e.stopPropagation()은 안해도 되는걸로 알고잇습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인