У меня есть следующий код:
<script>
$(document).ready(function() {
$('.toggle_section').click(function(e){
parent = $(e.target).closest("div")
objChild = parent.children('div');
$('.sectionContentId').hide(400);
$(objChild).toggle(400);
});
});
</script>
<br />
<div class="box" id="parent_section_1">
<strong>
<a class="toggle_section" href="javascript:;">New Section 1</a>
</strong>
<div class="sectionContentId" id="section_1" style="display: none">
<br />
Contents<br />for<br />section<br />1
</div>
</div>
<br />
<div class="box" id="parent_section_2">
<strong>
<a class="toggle_section" href="javascript:;">New Section 2</a>
</strong>
<div class="sectionContentId" id="section_2" style="display: none">
<br />
Contents<br />for<br />section<br />2
</div>
</div>
И пример можно увидеть здесь
Как вы видите, я пытаюсь сделать так, чтобы при нажатии на одну из ссылок все остальные "уже развернутые разделы" разваливались, а выбранный раздел расширялся.
это отлично работает, как есть, но, очевидно, с использованием логики:
$('.sectionContentId').hide(400);
$(objChild).toggle(400);
Когда я щелкаю один из расширенных разделов в попытке закрыть его, он на короткое время закрывается и открывается снова.
Я хочу сохранить ту же функциональность, но хочу иметь возможность открывать и закрывать раздел, нажимая на ссылку, а также, когда я открываю раздел, я не хочу закрывать все перед открытием этого нового раздела .
Я не уверен, что здесь я очень ясно, но, посмотрев на пример, вы сможете лучше понять, что я имею в виду.
Заранее спасибо