39 lines
913 B
JavaScript
39 lines
913 B
JavaScript
(() => {
|
|
const faqItems = document.querySelectorAll('.faq-item')
|
|
|
|
if (!faqItems.length) {
|
|
return
|
|
}
|
|
|
|
faqItems.forEach(item => {
|
|
const trigger = item.querySelector('.faq-question')
|
|
const answer = item.querySelector('.faq-answer')
|
|
|
|
if (!trigger || !answer) {
|
|
return
|
|
}
|
|
|
|
trigger.addEventListener('click', () => {
|
|
const isOpen = item.classList.contains('open')
|
|
|
|
faqItems.forEach(entry => {
|
|
const entryTrigger = entry.querySelector('.faq-question')
|
|
const entryAnswer = entry.querySelector('.faq-answer')
|
|
|
|
entry.classList.remove('open')
|
|
entryTrigger?.setAttribute('aria-expanded', 'false')
|
|
|
|
if (entryAnswer) {
|
|
entryAnswer.hidden = true
|
|
}
|
|
})
|
|
|
|
if (!isOpen) {
|
|
item.classList.add('open')
|
|
trigger.setAttribute('aria-expanded', 'true')
|
|
answer.hidden = false
|
|
}
|
|
})
|
|
})
|
|
})()
|