Copy
$('#menu_open').click(function(){
$('#category').slideToggle();
});
현재 슬라이드 토글로만 이루어져잇는데
다른곳 (헤드를 클릭하든 슬라이드 토글이 아닌곳 )을 클릭해도 슬라이드 업 하게끔
하려고 하는데 버블링이 일어나서 그런가 계속 메롱 하듯이 열렷다 다시 닫혓다 하더라구요;;
Copy
$('#menu_open').click(function(){
$('#category').slideToggle();
});
$('#menu_open').click(function (e){
e.preventDefault();
if(e.target!=$('#category')){
$('#category').slideUp();
}
});
현재 제가 쓴 코드입니다 어떻게 바꿔야 될까요
|
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
2021-11-24 (수) 22:01:45
불린변수를 하나 만들어서 토글업일 때는 true, 토글다운일 때는 false 로 주고 이프문을 걸어 상황에 맞게 변수값을 바꿔치기하면서 사용하시면 될 것 같습니다.
2021-11-24 (수) 22:18:54
if(e.target!=$('#category'))
이 조건문 부분이 하나는 jquery 객체, 하나는 javascript 객체를 가리키고 있네요
e.target != document.querySelector('#category') 또는 $(e.target) != $('#category')로 해보세요
답변에 대한 댓글 2개
2021-11-25 (목) 13:29:56
e.target e.currentTarget e.preventDefault() e.stopPropagation()은 안해도 되는걸로 알고잇습니다
2021-11-25 (목) 13:30:08
e.target e.currentTarget e.preventDefault() e.stopPropagation()은 안해도 되는걸로 알고잇습니다
블랙캣77
2021-11-24 (수) 20:47:30
up down 같은 클래스를 주고 슬라이드 상태가 맞게 주고
다른 곳을 클릭했을때 하는 소스에 슬라이드가 다운인 상태일때만 업하게 해주시면 될거 같습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.