Jquery 토글 질문입니다

Jquery 토글 질문입니다

QA

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')로 해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT