У меня есть полуработающий пример , который вы можете посмотреть.
Кажется, это работает так, как хотелось бы большинству, хотя в нем есть ошибка, которую я вижу во многих других аккордеонах: если вы нажмете на уже открытую ссылку на заголовок, она закроется, а затем снова откроется. *
Какие-нибудь элегантные решения?
Вот jQuery
<script language="javascript">
$(document).ready(function() {
// Simple Accordion Style Menu Function
$('h2.question').click(function() {
$('div.answer').slideUp('normal');
$(this).next().slideDown('normal');
});
// Closes All Divs on Page Load
$("div.answer").hide();
// Opens the first div
var Current = $('.question:first');
Current.next().show();
});
</script>
А вот основная разметка, которую я хочу использовать:
<div class="accordion">
<h2 class="question"><a href="#">Header 1</a></h2>
<div class="answer">
<p>some body content 1</p>
<p>some body content 2</p>
<p>some body content 3</p>
</div>
<h2 class="question"><a href="#">Header 2</a></h2>
<div class="answer">
<p>some body content a</p>
<p>some body content b</p>
<p>some body content c</p>
</div>
<h2 class="question"><a href="#">Header 3</a></h2>
<div class="answer">
<p>some body content x</p>
<p>some body content y</p>
<p>some body content z</p>
</div>
</div>