Change accordion logic

This commit is contained in:
Roman Pyrih
2025-09-16 10:15:08 +02:00
parent 2a3ed50e96
commit a60adef6e8
5 changed files with 245 additions and 116 deletions

View File

@@ -140,6 +140,110 @@ jQuery(function ($) {
})
})
// jQuery(function ($) {
// $('body').on(
// 'click',
// '.c-acc-advanced .c-acc--item .c-acc--head',
// function (e) {
// e.preventDefault()
// let $head = $(this)
// let $acc = $head.closest('.c-acc-advanced')
// let $item = $head.closest('.c-acc--item')
// let acc_parent_id = $acc.attr('acc_parent_id')
// let acc_parent_item_id = $item.attr('acc_parent_item_id')
// $acc.find('.c-acc--item').not($item).removeClass('active')
// $item.toggleClass('active')
// $acc
// .find('.c-acc--item .c-acc--item')
// .not($head.next('.c-acc--item'))
// .slideUp(200)
// $head.next('.c-acc--item').slideToggle(200)
// let $targetBody = $head
// .closest('.c-acc-group')
// .find(`.c-acc-advanced[acc_child_id='${acc_parent_id}']`)
// .find(`.c-acc--item[acc_child_item_id='${acc_parent_item_id}']`)
// $targetBody
// .addClass('active')
// .siblings('.c-acc--item')
// .removeClass('active')
// .slideUp(200)
// $targetBody.slideToggle(200)
// }
// )
// })
jQuery(function ($) {
$('body').on(
'click',
'.c-acc-advanced .c-acc--item .c-acc--head',
function (e) {
e.preventDefault()
let $head = $(this)
let $acc = $head.closest('.c-acc-advanced')
let $item = $head.closest('.c-acc--item')
let acc_parent_id = $acc.attr('acc_parent_id')
let acc_parent_item_id = $item.attr('acc_parent_item_id')
$acc.find('.c-acc--item').not($item).removeClass('active')
$item.toggleClass('active')
$acc
.find('.c-acc--item .c-acc--item')
.not($head.next('.c-acc--item'))
.stop(true, true)
.slideUp(200)
$head.next('.c-acc--item').stop(true, true).slideToggle(200)
if (
typeof acc_parent_id !== 'undefined' &&
typeof acc_parent_item_id !== 'undefined'
) {
let $childAdvanced = $head
.closest('.c-acc-group')
.find(`.c-acc-advanced[acc_child_id='${acc_parent_id}']`)
if ($childAdvanced.length) {
let $targetItem = $childAdvanced.find(
`.c-acc--item[acc_child_item_id='${acc_parent_item_id}']`
)
$childAdvanced
.find('.c-acc--item')
.not($targetItem)
.stop(true, true)
.slideUp(200)
.removeClass('active')
if ($targetItem.length) {
$targetItem.stop(true, true).slideToggle(200).toggleClass('active')
}
}
}
}
)
$('.c-acc-advanced').each(function () {
let $acc = $(this)
if ($acc.find('.c-acc--item.active').length === 0) {
let $firstHead = $acc.find('.c-acc--item .c-acc--head').first()
if ($firstHead.length) {
$firstHead.trigger('click')
}
}
})
})
jQuery(function ($) {
$('body').on('click', '#nav-menu-toggle', function (e) {
e.preventDefault()