More actions
No edit summary Tag: Manual revert |
No edit summary |
||
Line 2: | Line 2: | ||
$(document).ready(function() { | $(document).ready(function() { | ||
$('. | // True accordion behavior: collapse others when one is expanded | ||
$('.mw- | $('.accordion-section').on('click', function(e) { | ||
var $this = $(this); | |||
// If clicking the header (not a link inside content), toggle it | |||
if (e.target.tagName !== 'A' && !$this.hasClass('mw-collapsed')) { | |||
$this.addClass('mw-collapsed'); | |||
} else if (e.target.tagName !== 'A') { | |||
$('.accordion-section').not(this).addClass('mw-collapsed'); // Collapse all others | |||
$this.removeClass('mw-collapsed'); // Expand this one | |||
} | |||
}); | |||
// Disable link clicks in collapsed sections | |||
$('.accordion-section.mw-collapsed a').on('click', function(e) { | |||
e.preventDefault(); // Prevent link from working when collapsed | |||
}); | |||
// Re-enable links when expanded | |||
$('.accordion-section').on('click', function() { | |||
if (!$(this).hasClass('mw-collapsed')) { | |||
$(this).find('a').off('click'); // Remove the preventDefault when expanded | |||
} | |||
}); | }); | ||
}); | }); |
Revision as of 07:27, 29 March 2025
/* Any JavaScript here will be loaded for all users on every page load. */ $(document).ready(function() { // True accordion behavior: collapse others when one is expanded $('.accordion-section').on('click', function(e) { var $this = $(this); // If clicking the header (not a link inside content), toggle it if (e.target.tagName !== 'A' && !$this.hasClass('mw-collapsed')) { $this.addClass('mw-collapsed'); } else if (e.target.tagName !== 'A') { $('.accordion-section').not(this).addClass('mw-collapsed'); // Collapse all others $this.removeClass('mw-collapsed'); // Expand this one } }); // Disable link clicks in collapsed sections $('.accordion-section.mw-collapsed a').on('click', function(e) { e.preventDefault(); // Prevent link from working when collapsed }); // Re-enable links when expanded $('.accordion-section').on('click', function() { if (!$(this).hasClass('mw-collapsed')) { $(this).find('a').off('click'); // Remove the preventDefault when expanded } }); });