Jquery 토글 질문입니다
본문
$('#menu_open').click(function(){
$('#category').slideToggle();
});
현재 슬라이드 토글로만 이루어져잇는데
다른곳 (헤드를 클릭하든 슬라이드 토글이 아닌곳 )을 클릭해도 슬라이드 업 하게끔
하려고 하는데 버블링이 일어나서 그런가 계속 메롱 하듯이 열렷다 다시 닫혓다 하더라구요;;
$('#menu_open').click(function(){
$('#category').slideToggle();
});
$('#menu_open').click(function (e){
e.preventDefault();
if(e.target!=$('#category')){
$('#category').slideUp();
}
});
현재 제가 쓴 코드입니다 어떻게 바꿔야 될까요
!-->!-->답변 3
불린변수를 하나 만들어서 토글업일 때는 true, 토글다운일 때는 false 로 주고 이프문을 걸어 상황에 맞게 변수값을 바꿔치기하면서 사용하시면 될 것 같습니다.
up down 같은 클래스를 주고 슬라이드 상태가 맞게 주고
다른 곳을 클릭했을때 하는 소스에 슬라이드가 다운인 상태일때만 업하게 해주시면 될거 같습니다.
if(e.target!=$('#category'))
이 조건문 부분이 하나는 jquery 객체, 하나는 javascript 객체를 가리키고 있네요
e.target != document.querySelector('#category') 또는 $(e.target) != $('#category')로 해보세요
답변을 작성하시기 전에 로그인 해주세요.