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(); | |||
} | |||
}); | }); | ||
}); | }); |
Revision as of 07:49, 29 March 2025
/* Any JavaScript here will be loaded for all users on every page load. */ $(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'); // 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(); } }); });