MediaWiki:Anisa.js: Unterschied zwischen den Versionen
Aus Phoenix-Larp Wiki
Becko (Diskussion | Beiträge) Die Seite wurde geleert. Markierung: Geleert |
Becko (Diskussion | Beiträge) Inhaltsverzeichnis im Anisa-Skin rechts anzeigen |
||
| Zeile 1: | Zeile 1: | ||
/* Inhaltsverzeichnis bei Anisa auf großen Bildschirmen rechts anzeigen */ | |||
(function () { | |||
mw.hook('wikipage.content').add(function () { | |||
if (!document.body.classList.contains('skin-anisa')) { | |||
return; | |||
} | |||
var toc = document.getElementById('toc'); | |||
if (!toc || toc.dataset.anisaTocInitialized) { | |||
return; | |||
} | |||
toc.dataset.anisaTocInitialized = '1'; | |||
var marker = document.createComment('Position des Inhaltsverzeichnisses'); | |||
toc.parentNode.insertBefore(marker, toc); | |||
var panel = document.createElement('aside'); | |||
panel.id = 'anisa-page-toc'; | |||
panel.setAttribute('aria-label', 'Inhaltsverzeichnis'); | |||
document.body.appendChild(panel); | |||
var mediaQuery = window.matchMedia('(min-width: 1200px)'); | |||
function positionToc() { | |||
if (mediaQuery.matches) { | |||
panel.appendChild(toc); | |||
document.body.classList.add('anisa-has-page-toc'); | |||
} else { | |||
if (marker.parentNode) { | |||
marker.parentNode.insertBefore(toc, marker.nextSibling); | |||
} | |||
document.body.classList.remove('anisa-has-page-toc'); | |||
} | |||
} | |||
positionToc(); | |||
if (mediaQuery.addEventListener) { | |||
mediaQuery.addEventListener('change', positionToc); | |||
} else { | |||
mediaQuery.addListener(positionToc); | |||
} | |||
}); | |||
})(); | |||
Version vom 6. September 2026, 09:32 Uhr
/* Inhaltsverzeichnis bei Anisa auf großen Bildschirmen rechts anzeigen */
(function () {
mw.hook('wikipage.content').add(function () {
if (!document.body.classList.contains('skin-anisa')) {
return;
}
var toc = document.getElementById('toc');
if (!toc || toc.dataset.anisaTocInitialized) {
return;
}
toc.dataset.anisaTocInitialized = '1';
var marker = document.createComment('Position des Inhaltsverzeichnisses');
toc.parentNode.insertBefore(marker, toc);
var panel = document.createElement('aside');
panel.id = 'anisa-page-toc';
panel.setAttribute('aria-label', 'Inhaltsverzeichnis');
document.body.appendChild(panel);
var mediaQuery = window.matchMedia('(min-width: 1200px)');
function positionToc() {
if (mediaQuery.matches) {
panel.appendChild(toc);
document.body.classList.add('anisa-has-page-toc');
} else {
if (marker.parentNode) {
marker.parentNode.insertBefore(toc, marker.nextSibling);
}
document.body.classList.remove('anisa-has-page-toc');
}
}
positionToc();
if (mediaQuery.addEventListener) {
mediaQuery.addEventListener('change', positionToc);
} else {
mediaQuery.addListener(positionToc);
}
});
})();