У меня есть следующий код:
<div class="faq">
<h1 class="question">Question</h1>
<p class="answer">Answer</p>
</div>
<div class="faq">
<h1 class="question"> Question </h1>
<p class="answer">Answer</p>
</div>
<div class="faq">
<h1 class="question"> Question </h1>
<p class="answer">Answer</p>
</div>
И мне нравится нажимать на h1, чтобы развернуть ответ. тег <p>
установлен для отображения: нет, но это jquery, который меня беспокоит. Точные требования:
- При щелчке h1 соответствующий ответ должен открыться
- При нажатии другого h1 ответы на другие вопросы должны закрыться, и соответствующий ответ должен открыться
- При нажатии h1, когда этот ответ открыт, ответ должен закрыться.
Я пробовал следующее:
jQuery(".faq > h1").click(function () {
jQuery(this).siblings().hide();
jQuery(this).closest(".question").children("p").toggle("slow");
});
});
Почти добивается цели, но при щелчке открытого в данный момент вопроса он закрывается и снова открывается, что выглядит очень ошибочно.
Как я могу это исправить?