|
Letzte besuchte Seiten |
Seite zuletzt verändert am 12:17, 24 Feb 2026 von Minocula
toc-menuVon $1Inhaltsverzeichniskeine Gliederung
(function() {
/* ==========================================================
* TOC MENU - mit Singleton Guard
* FIX 24.02.2026: Singleton, Body-Append fuer Stacking Fix
* ========================================================== */
if (window._tocMenuInit) {
if (window.console) console.log('[TOC-Menu] SKIP: Bereits initialisiert (Singleton)');
return;
}
window._tocMenuInit = true;
var PREFIX = '[TOC-Menu] ';
var isMenuOpen = false;
function log(msg) {
if (window.console && console.log) {
console.log(PREFIX + msg);
}
}
log('Init gestartet...');
var menuIcon = document.getElementById('menuToggleIcon');
if (!menuIcon) {
log('ERROR: menuToggleIcon nicht gefunden!');
return;
}
document.body.appendChild(menuIcon);
log('Icon an body verschoben (Stacking Fix)');
menuIcon.addEventListener('click', function(e) {
e.stopPropagation();
var dmenu = document.getElementById('menuPageContent');
if (dmenu) {
if (isMenuOpen) {
dmenu.style.display = 'none';
isMenuOpen = false;
log('Menu geschlossen');
} else {
window.menuBubble = true;
dmenu.style.display = 'block';
isMenuOpen = true;
log('Menu geoeffnet');
}
}
});
document.addEventListener('click', function(e) {
var dmenu = document.getElementById('menuPageContent');
if (isMenuOpen && dmenu) {
var clickedInsideMenu = dmenu.contains(e.target);
var clickedIcon = menuIcon.contains(e.target);
if (!clickedInsideMenu && !clickedIcon) {
dmenu.style.display = 'none';
isMenuOpen = false;
log('Menu geschlossen (Klick aussen)');
} else if (clickedInsideMenu && e.target.tagName === 'A') {
dmenu.style.display = 'none';
isMenuOpen = false;
log('Menu geschlossen (Link geklickt)');
}
}
});
log('Fertig! Handler registriert.');
})();
|
Details: