MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Spiritwiki

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
mw.loader.using( 'jquery.makeCollapsible', function () {
    $( function () {
        // Falls du selbst initialisieren musst (oft nicht nötig):
        // $('.accordion-block').makeCollapsible();


        // Globale Klick-Behandlung für alle Collapsible-Toggles
$(function() {
        $(document).on('click', '.mw-collapsible-toggle', function () {
    // Accordion-Verhalten: Nur ein Block offen
            // Das zugehörige collapsible-Element finden
    $(document).on('click', '.mw-collapsible-toggle', function(e) {
            var $currentBox = $(this).closest('.mw-collapsible');
        var $currentBlock = $(this).closest('.accordion-gruppe');
             if ( !$currentBox.hasClass('accordion-block') ) {
       
                 // Toggle gehört nicht zu unserem Accordion -> ignorieren
        if (!$currentBlock.length) return;
                 return;
       
        // Alle anderen Blöcke in der Gruppe schließen
        $('.accordion-gruppe').not($currentBlock).each(function() {
            var $otherBlock = $(this);
             if (!$otherBlock.hasClass('mw-collapsed')) {
                 // Block ist offen → schließen
                 $otherBlock.find('.mw-collapsible-toggle').click();
             }
             }
            // Alle anderen Accordion-Blöcke schließen
            $('.accordion-block').not($currentBox).each(function () {
                var $box = $(this);
                // Box ist offen, also Toggle auslösen
                if ( !$box.hasClass('mw-collapsed') ) {
                    $box.find('.mw-collapsible-toggle').trigger('click');
                }
            });
         });
         });
     });
     });
});
});

Version vom 25. Januar 2026, 12:08 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

$(function() {
    // Accordion-Verhalten: Nur ein Block offen
    $(document).on('click', '.mw-collapsible-toggle', function(e) {
        var $currentBlock = $(this).closest('.accordion-gruppe');
        
        if (!$currentBlock.length) return;
        
        // Alle anderen Blöcke in der Gruppe schließen
        $('.accordion-gruppe').not($currentBlock).each(function() {
            var $otherBlock = $(this);
            if (!$otherBlock.hasClass('mw-collapsed')) {
                // Block ist offen → schließen
                $otherBlock.find('.mw-collapsible-toggle').click();
            }
        });
    });
});