Benutzer:McNamara/TestDiv: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Test für einklappbare Listen) |
(Vorschlag und Code-Schnipsel für zusammenklappbare Listen) |
||
Zeile 3: | Zeile 3: | ||
<div class="NavContent"><div align="left"> | <div class="NavContent"><div align="left"> | ||
<div style="column-width:30em;"> | <div style="column-width:30em;"> | ||
* Mega | |||
* atemberaubend | |||
* doofe | |||
* durchgeknallte | |||
* responsive | |||
* Abenteuerroman- | |||
* Xenographie-Auflistung | |||
</div> | </div> | ||
</div></div> | </div></div> | ||
</div> | </div> | ||
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'; | |||
} | |||
} | |||
} | |||
} | |||
})}); |
Aktuelle Version vom 29. März 2023, 16:33 Uhr
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'; } } } }
})});