2013-01-24 1 views
1

내 탐색의 링크를 클릭하면 클래스를 추가하여 드롭 다운 메뉴를 여는 다음 자바 스크립트가 있습니다.클릭하여 다른 메뉴를 열면 닫기 버튼이 열려 있습니다.

$("li.dropdown-control > a").click(function() { 
      var nextSibling = $(this).next(); 
       nextSibling.toggleClass("dropped"); 
}); 

내 문제는 하나의 드롭 다운이 열려있을 때 다른를 열려면 클릭 할 때, 그것은 닫지 않는다는 것입니다. 열려있는 드롭 다운을 찾고 다른 드롭 다운이 열렸을 때 닫으려면 어떻게합니까?

예 :

$("li.dropdown-control > a").click(function() { 
      $('.dropped').removeClass('dropped'); 
      var nextSibling = $(this).next(); 
       nextSibling.addClass("dropped"); 
}); 

답변

1

만 어느 시점에 하나의 드롭 다운 열고 싶은 경우에, 당신이 할 수 있습니다

+0

을 시도 할 것이다 무엇 하위 그러나, 이제는 링크를 클릭하여 이미 열려있는 드롭 다운을 닫을 수 없습니다. 그래서 하나의 드롭 다운을 열고 닫으려고하면 닫히지 않습니다. 하지만 다른 드롭 다운을 클릭하면 닫힙니다 ... – user1836025

+0

추가 질문 및 솔루션 : http://stackoverflow.com/a/14508025/901048 – Blazemonger

2

당신은 당신이 열려 원하는 하나를 전환하기 전에 모든 삭제 된 클래스를 제거 할 수 없습니다 이전에 '떨어진'것으로 표시된 모든 항목에서 삭제 된 클래스를 제거하십시오. 여기에 내가 ...

$("li.dropdown-control > a").click(function() { 
     $('.dropped').removeClass('dropped'); 
     var nextSibling = $(this).next(); 
      nextSibling.toggleClass("dropped"); 
}); 
0

JS 코드 이것은 다른 오픈 드롭을 닫 작동

$("li.dropdown-control > a").click(function() { 
      $(this).removeClass("dropped"); 
      var nextSibling = $(this).next('ul'); 
       nextSibling.addClass("dropped"); 
}); 

LIVE DEMO

관련 문제