我有下面的手风琴可以使用,但是当一个项目打开时再次点击它会重新打开而不是关闭。
我不确定是否有最佳方法来调整下面的代码来实现这一目标?
任何帮助或建议会很棒吗?
由于
$('.acc h2').click(function() {
$('.acc h2.open').nextUntil('h2').stop(true, true).slideToggle();
$('.acc h2.open').removeClass('open');
$(this).nextUntil('h2').stop(true, true).slideToggle(900);
$(this).toggleClass('open');
});
<div class="acc">
<h2>1. Title 1</h2>
<div><p>text 1</p></div>
<h2>2. Title 2</h2>
<div><p>text 2</p></div>
<h2>3. Title 3</h2>
<div><p>text 3</p></div>
</div><!--END acc-->
答案 0 :(得分:2)
解决方案:
$('.acc h2').next('div').hide();
$('.acc h2').click(function() {
if($(this).next('div').is(':visible'))
{
$(this).next('div').slideUp();
}
else{
$('.acc h2').next('div').slideUp();
$(this).next('div').slideToggle();
}
});
演示:
或
答案 1 :(得分:0)
切换问题是当用户多次点击时,动画开始排队,这很痛苦。
这是另一种选择:
http://jsfiddle.net/adaz/5NAhV/3/
编辑:
http://jsfiddle.net/5NAhV/2/是的,是(“:可见”)完成工作!