2012-04-10 3 views
1

http://jsfiddle.net/buhlett/paw5w/는 클릭에서 Active 아코디언 패널을 닫을 ... 아코디언 원활하게 작동 항상

에 하나 개의 패널을 열 수있을 것 같습니다하지만 그것은 나를 한 번에 모든 패널을 닫을 수 없습니다. 한 패널은 항상 강제로 열립니다.

은 내가

$(document).ready(function() { 
// Store variables 
var accordion_head = $('.grape-accordion > li > a'), 
    accordion_body = $('.grape-accordion li > .grape-sub-menu, .grape-last-sub-menu'); 
// Open the first tab on load 
// Click function 
accordion_head.on('click', function(event) { 
    // Disable header links 
    event.preventDefault(); 
    // Show and hide the tabs on click 
    if ($(this).attr('class') != 'active') { 
     accordion_body.slideUp('normal'); 
     $(this).next().stop(true, true).slideToggle('normal'); 
     accordion_head.removeClass('active'); 
     $(this).addClass('active'); 
    } 
}); 
});​ 

는 HTML

<div> 
    <ul class="grape-accordion"> 
     <li id="one" class="share"><a href="#one">-</a> 
     <ul class="grape-sub-menu"> 
      <li><a href="#"><em>»</em>-</a></li> 
     </ul> 
     </li> 
     <li id="two" class="mail"><a href="#two">-</a> 
     <ul class="grape-sub-menu"> 
      <li><a href="#"><em>»</em>-</a></li> 
     </ul> 
     </li> 
     <li id="two" class="mail"><a href="#two">-</a> 
     <ul class="grape-sub-menu"> 
      <li><a href="#"><em>»</em>-</a></li> 
     </ul> 
     </li> 
    </ul> 
</div> 
+2

여기에 코드를 게시하십시오. 여기서 문제를 지정하십시오. 시연 해 주셔서 감사합니다. 여기에 코드가 없으면 JS Fiddle이 넘어지면 누구나 쓸모가 없어집니다. * what * 요소를 클릭하면 활성 아코디언을 닫습니다? –

+0

여기에 미안합니다. – Gevorkyan

+0

아코디언을 닫으려면 버튼을 클릭하면됩니다.이 경우에는 헤더가 열립니다. 그러나, 나는 이러한 동작을 발생시키는 버튼을 헤더의 작은 버튼으로 변경하게 될 것입니다. 코멘트 버튼과 같은 것으로, 간단하고 유연한 코드가 필요합니다. – Gevorkyan

답변