2013-04-17 108 views
0

我在寫一些腳本時遇到了一些麻煩。 HTML和jQuery如下所示。目前,如果您點擊。每個問題標題,它的答案會縮小。如果您點擊另一個問題標題,那麼打開的答案就會滑下來,新的答案也會下滑。但是,如果您單擊已打開的相同答案的.each-question標題,則無法上拉,而是向上滑動並向下滑動。jQuery accordian - 點擊展開,點擊關閉

我想要它,所以如果您單擊已打開的答案的標題,它會滑動並保持不動。

$('.faq > .each-question').click(function() { 
    $('.faq > .each-answer').slideUp('normal'); 
    $(this).next().slideDown('normal'); 
}); 
$('.faq > .each-answer').hide(); 

<div class="each-question"> Where do your ideas come from? </div> 
<div class="each-answer"> Text for answer </div> 

UPDATE - 的jsfiddle http://jsfiddle.net/YZBLg/

乾杯提前, ř

回答

0

嘗試此jsfiddle

$('.faq > .each-question').click(function() { 
    $('.faq > .each-answer').slideUp('slow'); 
    if($(this).next('.each-answer').is(':not(:visible)')){ 
     $(this).next('.each-answer').slideToggle('normal'); 
    } 
}); 
$('.faq > .each-answer').hide(); 
+0

這和以前一樣。但是,如果您單擊已打開的答案的標題,則不會關閉......它只是再次打開。 –

+0

@rdck我真的這樣做,因爲你說,但我把上面的代碼,我忘記更新jsfiddle,所以你可以看到:http://jsfiddle.net/mido_rizk007/YZBLg/2/ –

0

嘗試使用.slideToggle()

$('.faq > .each-answer').slideToggle('normal'); 
$(this).next().slideToggle('normal'); 
+0

感謝您的幫助。我覺得這樣做會起作用,但它會帶來更多的錯誤,例如點擊標題幻燈片錯誤的答案等。 –

+0

如果可能的話創建一​​個小提琴。 –

+0

謝謝 - http://jsfiddle.net/YZBLg/ –