MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus DG HochN-Wiki
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
/* Offset für fixed Navigation bei Ankerlinks */
/* Offset für fixed Navigation bei Ankerlinks */
(function($, window) {
(function($, window) {
     var adjustAnchor = function() {
    // Funktion zum Anpassen des Scrolls
         var $anchor = $(':target'),
     var adjustAnchorScroll = function(hash) {
            fixedElementHeight = 100;
         var $anchor = $(hash);
         if ($anchor.length > 0) {
         if ($anchor.length > 0) {
             window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
             var fixedElementHeight = 86; // Höhe des Headers
            $('html, body').animate({
                scrollTop: $anchor.offset().top - fixedElementHeight
            }, 200);
         }
         }
     };
     };
    // Klick auf Ankerlinks abfangen
    $('a[href^="#"]').on('click', function(e) {
        var hash = $(this).attr('href');
        if (hash !== '#') {
            e.preventDefault(); // Standardverhalten unterbinden
            adjustAnchorScroll(hash);
            window.history.pushState(null, null, hash); // URL aktualisieren
        }
    });
    // Beim Laden der Seite oder Hash-Änderung
     $(window).on('hashchange load', function() {
     $(window).on('hashchange load', function() {
         adjustAnchor();
         var hash = window.location.hash;
        if (hash) {
            setTimeout(function() {
                adjustAnchorScroll(hash);
            }, 100);
        }
     });
     });
})(jQuery, window);
})(jQuery, window);


/* Fix für PageForms 6.0 - kann in späteren Versionen ggf. wieder gelöscht werden */
/* Dynamische URL für den "Zum Bearbeitungsfeld gehen"-Link */
/* Dynamische URL für den "Zum Bearbeitungsfeld gehen"-Link */
(function($) {
(function($) {
     $(document).ready(function() {
     $(document).ready(function() {
        $('.mw-continue-editing a[href="#editform"]').each(function() {
            $(this).attr('href', window.location.href);
        });
    });
})(jQuery);
/* Speichern der Formulardaten beim Verlassen der Vorschau */
(function($) {
    $(document).ready(function() {
        // Speichere Formulardaten, wenn der "Zum Bearbeitungsfeld gehen"-Link geklickt wird
         $('.mw-continue-editing a[href="#editform"]').on('click', function(e) {
         $('.mw-continue-editing a[href="#editform"]').on('click', function(e) {
             e.preventDefault();
             e.preventDefault(); // Verhindere die Standardaktion des Links
            var formData = {};
             history.back(); // Gehe eine Seite in der Browser-Historie zurück
            // Speichere alle Input-Felder (Text, Checkboxen, etc.)
            $('form input, form textarea, form select').each(function() {
                var $input = $(this);
                if ($input.attr('type') === 'checkbox' || $input.attr('type') === 'radio') {
                    formData[$input.attr('name')] = $input.is(':checked');
                } else {
                    formData[$input.attr('name')] = $input.val();
                }
            });
            // Speichere die Daten im localStorage
             localStorage.setItem('formPreviewData', JSON.stringify(formData));
            // Weiterleitung zur Bearbeitungsseite
            window.location.href = window.location.href;
         });
         });
    });
})(jQuery);
/* Wiederherstellen der Formulardaten beim Laden der Bearbeitungsseite */
(function($) {
    $(document).ready(function() {
        var savedData = localStorage.getItem('formPreviewData');
        if (savedData) {
            var formData = JSON.parse(savedData);
            // Setze die gespeicherten Werte zurück in die Formularfelder
            for (var key in formData) {
                var $input = $('[name="' + key + '"]');
                if ($input.attr('type') === 'checkbox' || $input.attr('type') === 'radio') {
                    $input.prop('checked', formData[key]);
                } else {
                    $input.val(formData[key]);
                }
            }
            // Lösche die gespeicherten Daten, um alte Einträge zu vermeiden
            localStorage.removeItem('formPreviewData');
        }
     });
     });
})(jQuery);
})(jQuery);

Aktuelle Version vom 20. November 2025, 08:32 Uhr

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

/* Offset für fixed Navigation bei Ankerlinks */
(function($, window) {
    // Funktion zum Anpassen des Scrolls
    var adjustAnchorScroll = function(hash) {
        var $anchor = $(hash);
        if ($anchor.length > 0) {
            var fixedElementHeight = 86; // Höhe des Headers
            $('html, body').animate({
                scrollTop: $anchor.offset().top - fixedElementHeight
            }, 200);
        }
    };

    // Klick auf Ankerlinks abfangen
    $('a[href^="#"]').on('click', function(e) {
        var hash = $(this).attr('href');
        if (hash !== '#') {
            e.preventDefault(); // Standardverhalten unterbinden
            adjustAnchorScroll(hash);
            window.history.pushState(null, null, hash); // URL aktualisieren
        }
    });

    // Beim Laden der Seite oder Hash-Änderung
    $(window).on('hashchange load', function() {
        var hash = window.location.hash;
        if (hash) {
            setTimeout(function() {
                adjustAnchorScroll(hash);
            }, 100);
        }
    });
})(jQuery, window);




/* Fix für PageForms 6.0 - kann in späteren Versionen ggf. wieder gelöscht werden */
/* Dynamische URL für den "Zum Bearbeitungsfeld gehen"-Link */
(function($) {
    $(document).ready(function() {
        $('.mw-continue-editing a[href="#editform"]').on('click', function(e) {
            e.preventDefault(); // Verhindere die Standardaktion des Links
            history.back(); // Gehe eine Seite in der Browser-Historie zurück
        });
    });
})(jQuery);
Cookies helfen uns bei der Bereitstellung von DG HochN-Wiki. Durch die Nutzung von DG HochN-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.