jQueryでアコーディオンをやりたいのですが、すぐにアコーディオンが閉じてしまう現象になります。
どのようにすれば良いか教えてもらいたいです。jQueryはProgateを参考にしました。
HTML
<div class="faq-item"> <p class="faq-question"> <span class="faq-icon-question">Q</span> クイックするとどうなりますか? <img src="img/plus.svg"> </p> <div class="faq-answer"> <span class="faq-icon-answer">A</span> <p>アコーディオンが開きます。</p> </div> </div> <div class="faq-item"> <p class="faq-question"> <span class="faq-icon-question">Q</span> クイックするとどうなりますか? <img src="img/plus.svg"> </p> <div class="faq-answer"> <span class="faq-icon-answer">A</span> <p>アコーディオンが開きます。</p> </div> </div> <div class="faq-item"> <p class="faq-question"> <span class="faq-icon-question">Q</span> クイックするとどうなりますか? <img src="img/plus.svg"> </p> <div class="faq-answer"> <span class="faq-icon-answer">A</span> <p>アコーディオンが開きます。</p> </div> </div> <div class="faq-item"> <p class="faq-question"> <span class="faq-icon-question">Q</span> クイックするとどうなりますか? <img src="img/plus.svg"> </p> <div class="faq-answer"> <span class="faq-icon-answer">A</span> <p>アコーディオンが開きます。</p> </div> </div>jQuery
$('.faq-item').click( function() {
$answer = $(this).find('.faq-answer');
if ( $answer.hasClass('open') ) {
$answer.removeClass('open');
$answer.slideUp(300);
} else {
$answer.addClass('open');
$answer.slideDown(300);
}
});