У меня есть полуработающий example, на который вы можете посмотреть.jQuery аккордеон, щелкнув уже открытый элемент аккордеона, просто переключает его
Это похоже на работу, как хотелось бы большинству, хотя у него есть ошибка, которую я вижу во многих других аккордеонах, то есть если вы нажмете на уже открытую ссылку заголовка, она будет закрыта, а затем снова открыта.
Любые элегантные решения?
Вот 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>
Очень хорошо, я играл с проверкой состояния видимости, которая казалась немного сфальсифицированной. Это хорошо работает, спасибо. – user170579