Benutzer:McNamara/TestDiv
< Benutzer:McNamara
Zur Navigation springen
Zur Suche springen
Version vom 29. März 2023, 16:33 Uhr von McNamara (Diskussion | Beiträge) (Vorschlag und Code-Schnipsel für zusammenklappbare Listen)
Band 1 -100
- Mega
- atemberaubend
- doofe
- durchgeknallte
- responsive
- Abenteuerroman-
- Xenographie-Auflistung
Anleitung:
- In die Seite MediaWiki:Common.css den folgenden CSS-Code einfügen:
div.NavHead { background: #eaecf0; font-weight: bold; }
- In die Seite
// Beginn der zusammenklappbaren Liste mw.loader.using( [ 'jquery.makeCollapsible', 'user', 'mediawiki.user', 'user.options' ], function() { mw.hook( 'wikipage.content' ).add( function( $content ) {
// Erlaubt das Setzen von NavigationBarShowDefault var showDefaultCount = mw.user.options.get( 'NavigationBarShowDefault', typeof NavigationBarShowDefault !== 'undefined' ? NavigationBarShowDefault : 1 ); // Erlaubt Benutzerüberschreibungen für Abwärtskompatibilität var textHide = typeof NavigationBarHide === 'string' ? NavigationBarHide : mw.msg( 'collapsible-collapse' ); var textShow = typeof NavigationBarShow === 'string' ? NavigationBarShow : mw.msg( 'collapsible-expand' );
// Zeigt und verbirgt den Inhalt und das Bild (falls vorhanden) von Navigationsleisten // Parameter: // indexNavigationBar: der Index der umzuschaltenden Navigationsleiste function toggleNavigationBar(NavToggle, NavFrame) { if (!NavFrame || !NavToggle) { return false; }
// Wenn der Inhalt derzeit angezeigt wird if (NavToggle.firstChild.data === textHide) { for ( var NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) { if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = textShow;
// Wenn der Inhalt derzeit verborgen ist } else if (NavToggle.firstChild.data === textShow) { for ( var NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) { if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = textHide; } }
// Funktion zum Umschalten der Navigationsleiste function toggleNavigationBarFunction(NavToggle, NavFrame) { return function() { toggleNavigationBar(NavToggle, NavFrame); return false; }; } // Über alle NavFrames iterieren var NavFrames = $content.find( 'div.NavFrame' );
// Wenn mehr Navigationsleisten gefunden wurden und der Namensraum kein Vorlagen-Namensraum ist, verberge alle außer der voreingestellten Anzahl var initiallyToggle = showDefaultCount < NavFrames.length && mw.config.get( 'wgNamespaceNumber' ) !== 10; for (var i=0; i<NavFrames.length; i++) { var NavFrame = NavFrames[i]; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('href', '#');
var NavToggleText = document.createTextNode(textHide); NavToggle.appendChild(NavToggleText);
// Fügt den NavToggle-Button als erstes div-Element in < div class="NavFrame" > hinzu NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
// Fügt einen Klick-Handler zum Umschalten der Navigationsleiste hinzu NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame); // Wenn initiallyToggle wahr ist, wird die Navigationsleiste beim ersten Laden der Seite umgeschaltet (versteckt) if (initiallyToggle) { toggleNavigationBar(NavToggle, NavFrame); } else { // Stellt sicher, dass die 'display'-Eigenschaft für jeden NavFrame immer gesetzt ist for ( var NavChild = NavFrame.firstChild; NavChild !== null; NavChild = NavChild.nextSibling ) { if (NavChild.className === 'NavPic' || NavChild.className === 'NavContent') { NavChild.style.display = 'block'; } } } }
})});