2017-12-02 140 views
0

你好,我是新来的,我想知道是否有人可以帮忙。我已经实施了bourbon.io的手风琴,但是我无法通过单击就打开并折叠。波旁手风琴点击一次展开/折叠点击

它打开,但保持打开状态。

$('.js-accordion-trigger').bind('click', function(e){ 
    jQuery(this).parent().find('.submenu').slideToggle('fast'); // apply the toggle to the ul 
    jQuery(this).parent().toggleClass('is-expanded'); 
    e.preventDefault(); 
}); 

JSFiddle Demo

+0

你如何真正想要的行为。 –

+0

当另一个部分被点击时,打开的部分将崩溃。在那一刻它保持打开状态。 –

+0

刚刚为你发布了一个答案@Antony –

回答

0

下面看看是否是你想要的

$('.js-accordion-trigger').on('click', function(e) { 
 
    $('ul.submenu').not($(this).parent().find('ul.submenu')).slideUp('fast'); 
 
    $(this).parent().find('.submenu').toggleClass('is-expanded').slideToggle('fast'); 
 
    e.preventDefault(); 
 
});
ul.submenu { 
 
    display: none; 
 
} 
 

 
.is-expanded { 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="accordion"> 
 
    <li> 
 
    <a href="javascript:void(0)" class="js-accordion-trigger">Accordion Item</a> 
 
    <ul class="submenu"> 
 
     <li> 
 
     <a href="javascript:void(0)">Sub Item 1</a> 
 
     </li> 
 
     <li> 
 
     <a href="javascript:void(0)">Sub Item 2</a> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
    <li> 
 
    <a href="javascript:void(0)" class="js-accordion-trigger">Another Item</a> 
 
    <ul class="submenu"> 
 
     <li> 
 
     <a href="javascript:void(0)">Sub Item 1</a> 
 
     </li> 
 
     <li> 
 
     <a href="javascript:void(0)">Sub Item 2</a> 
 
     </li> 
 
    </ul> 
 
    </li> 
 
</ul>

+0

第二行是否有一个括号?我无法得到它的工作。 –

+0

遗憾,是一个错字,同时除去'console.log'声明校验码现在@AntonyMoss刚刚更新的答案 –

+0

没有我想在这个例子中,效果https://codepen.io/danhearn/pen/vWXzvm?limit=all&page= 2&q = accordion + js –