More actions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
$(document).ready(function() { | $(document).ready(function() { | ||
var $sections = $('.accordion-section'); | |||
// Initialize: disable links in all headers by default (since all start collapsed) | |||
$sections.find('.accordion-header a').css('pointer-events', 'none'); | |||
// Handle header clicks | |||
$('.accordion-header').on('click', function(e) { | |||
var $section = $(this).closest('.accordion-section'); | |||
var $content = $section.find('.accordion-content'); | |||
var isHidden = $content.is(':hidden'); | |||
if (isHidden) { | |||
// Collapse all other sections | |||
$sections.not($section).find('.accordion-content').slideUp(200); | |||
$sections.not($section).removeClass('expanded'); | |||
$sections.not($section).find('.accordion-header a').css('pointer-events', 'none'); | |||
// Prevent link click | // Expand this section | ||
$content.slideDown(200); | |||
$section.addClass('expanded'); | |||
$section.find('.accordion-header a').css('pointer-events', 'auto'); | |||
} | } else { | ||
// Collapse this section | |||
$content.slideUp(200); | |||
$section.removeClass('expanded'); | |||
$section.find('.accordion-header a').css('pointer-events', 'none'); | |||
} | |||
// Prevent link click if content is hidden | |||
if (e.target.tagName === 'A' && $content.is(':hidden')) { | |||
e.preventDefault(); | |||
} | |||
}); | }); | ||
}); | }); |