JSFiddle - React, Tailwind, and code Playground
by majikarikeruo
HTML
<dl class="p-faq">
<dt class="p-faq-title">保険は効きますか??</dt>
<dd class="p-faq-description">はい!効きますよ。</dd>
<dt class="p-faq-title">女性スタッフはいらっしゃいますか???</dt>
<dd class="p-faq-description">はい!おりますよ!</dd>
<dt class="p-faq-title">予約は何ですればいいですか??</dt>
<dd class="p-faq-description">お電話のみの受付となっております!。</dd>
<dt class="p-faq-title">年末年始や祝日などは営業していますか??</dt>
<dd class="p-faq-description">不定休なので、公式Twitterをご覧になってみてください!。</dd>
</dl>
CSS
.p-faq{
}
.p-faq-title{
position: relative;
padding: 8px;
border-bottom: solid 1px #333;
cursor: pointer;
}
.p-faq-title::after{
position: absolute;
top: 50%;
right:10px;
display: block;
content: "";
width: 8px;
height: 8px;
border-top: solid 1px #333;
border-right: solid 1px #333;
transform: translate(0, -50%) rotate(135deg);
transform-origin: center;
}
.p-faq-title.active::after{
transform:translate(0, -50%) rotate(-45deg);
}
.p-faq-description{
display: none;
margin: 0 0 24px;
padding: 8px;
}
.p-faq-description.active{
display: block;
}
JavaScript
$('.p-faq-title').on('click', function(){
$('.p-faq-title').removeClass('active');
$('.p-faq-description').slideUp();
$(this).next().slideDown();
});