0

我现在正在做一个手风琴,它工作正常,但是当我单击 Title2 或 Title1 时,如果我下一步单击 Title3,只想为此提供标题链接,所以没有任何子链接,这就是我想向上滑动上述标题的原因。

小提琴 http://jsfiddle.net/cX68E/1/

4

3 回答 3

1
$('#accordion> div').hide();
$('#accordion > h3').click(function() {
    if($(this).next('div').length) {
        $(this)
            .next('div')
            .slideToggle('fast')
            .siblings('div:visible')
            .slideUp('fast');
    } else {
         $(this)
            .siblings('div:visible')
            .slideUp('fast');
    }
});

演示

于 2012-05-31T16:47:18.090 回答
0

您的代码不起作用,因为.next()单击时返回空title3。所以让我们尝试做slideUp然后end然后slideToggle。见下文,

$('#accordion> h3').click(function() {
  $(this)      
      .siblings('div:visible')
      .slideUp('fast')
      .end()
      .next('div')
      .slideToggle('fast');
});

演示:http: //jsfiddle.net/cX68E/3/

于 2012-05-31T16:45:05.250 回答
0

它没有找到下一个 div。由于那里没有元素,因此也没有兄弟姐妹。

所以没有什么可滑动的。

您可以在末尾添加一个 div 或先向上滑动。

<h3>Title 3</h3>
    <div></div>

见这里:http: //jsfiddle.net/a2qvU/

于 2012-05-31T16:47:20.980 回答