MediaWiki:Common.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/* Das folgende JavaScript wird für alle Benutzer geladen. */
$(document).ready(function() {
// Bestehender Code für die einklappbaren Menüs
console.log("Common.js wird geladen!");
var defaultCollapsed = ['navigation', 'SEARCH', 'LANGUAGES'];
var collapsiblePortals = ['HOSTING', 'DOMAINS', 'SERVICE'];
$('.vector-menu-portal').each(function() {
var $portal = $(this);
var $header = $portal.find('.vector-menu-heading');
var $content = $portal.find('.vector-menu-content-list');
var portalId = $portal.attr('id');
var portalName = portalId ? portalId.replace('p-', '') : '';
if ($content.find('li').length > 0 && collapsiblePortals.includes(portalName)) {
console.log("Portal:", portalName, "Untermenüs:", $content.find('li').length);
$header.prepend('<span class="menu-indicator">▼</span> ');
$header.css({
'cursor': 'pointer',
'font-weight': 'bold',
'display': 'flex',
'align-items': 'center'
});
$header.find('.menu-indicator').css({
'margin-right': '5px',
'transition': 'transform 0.3s ease'
});
var savedState = sessionStorage.getItem('menu-state-' + portalName);
var isOpen = savedState !== null ? (savedState === 'open') : false;
if (isOpen) {
$content.show();
$header.find('.menu-indicator').css('transform', 'rotate(0deg)');
} else {
$content.hide();
$header.find('.menu-indicator').css('transform', 'rotate(-90deg)');
}
$header.click(function(e) {
e.preventDefault();
var $indicator = $header.find('.menu-indicator');
if (isOpen) {
$content.slideUp(300);
$indicator.css('transform', 'rotate(-90deg)');
sessionStorage.setItem('menu-state-' + portalName, 'closed');
} else {
$content.slideDown(300);
$indicator.css('transform', 'rotate(0deg)');
sessionStorage.setItem('menu-state-' + portalName, 'open');
}
isOpen = !isOpen;
});
}
});
// Viewport-Meta-Tag hinzufügen
var viewportMeta = $('<meta>', {
name: 'viewport',
content: 'width=device-width, initial-scale=1.0'
});
$('head').append(viewportMeta);
});