Hauptmenü öffnen

Memory Alpha Nova β

Änderungen

Benutzer:D47h0r/Common.js

80 Bytes entfernt, 21:44, 16. Nov. 2011
K
keine Bearbeitungszusammenfassung
/*<source lang="javascript"> * Collapsible tables ***************************************************/  //================================================================================//***Dynamic Navigation Bars for Monaco, Oasis (New Wikia), Adjura, Final Fantasy, Vector, MonoBook and default skins of MediaWiki//***Script written by Tim Weyer (SVG) <svg@tim-weyer.org> and others  *var navbarsDone; * Description: Allows tables to be collapsed, showing only the header. See * http://www.mediawiki.org/wiki/Manual:Collapsible_tables.set up the words in your language * Maintainers: [[en:User:R. Koot]]var NavigationBarHide = 'Einklappen'; */var NavigationBarShow = 'Ausklappen';
var autoCollapse = 2;// set up max count of Navigation Bars on page,var collapseCaption = 'hide';// if there are more, all will be hiddenvar expandCaption // NavigationBarShowDefault = 'show'0;// all bars will be hidden function collapseTable( tableIndex ) { var Button // NavigationBarShowDefault = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex )1;// on pages with more than 1 bar all bars will be hidden if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i typeof NavigationBarShowDefault = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'noneundefined'; } Button.firstChild.data = expandCaption; } else ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display NavigationBarShowDefault = Rows[0].style.display; } Button.firstChild.data = collapseCaption; }
}
function createCollapseButtons// shows and hides content and picture (if available) {of navigation bars// Parameters: var tableIndex = 0;// indexNavigationBar: the index of navigation bar to be toggled var NavigationBoxes = new Objectfunction toggleNavigationBar(indexNavigationBar); var Tables = document.getElementsByTagName( 'table' );{
for ( var i NavToggle = 0; i < Tablesdocument.length; i+getElementById("NavToggle" + indexNavigationBar) {; if var NavFrame = document.getElementById( hasClass( Tables[i], 'collapsible' "NavFrame" + indexNavigationBar) ) {;
/* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0]; if ( !HeaderRow ) { continue; } var Header = HeaderRow.getElementsByTagName( 'th' )[0]; if ( NavFrame || !Header NavToggle) { continue return false; }
NavigationBoxes[tableIndex] // if shown now if (NavToggle.firstChild.data == Tables[i]NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; Tables[i] NavChild != null; NavChild = NavChild.setAttributenextSibling ) { if ( NavChild.className == 'idNavPic', ) { NavChild.style.display = 'collapsibleTablenone'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle' + tableIndex ){ NavChild.firstChild.data = NavigationBarShow; } }
// if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var Button NavChild = documentNavFrame.createElementfirstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if ( NavChild.className == 'spanNavPic' ){ NavChild.style.display = 'block'; var ButtonLink } if (NavChild.className == document'NavContent') { NavChild.style.createElementdisplay = 'block'; } if ( NavChild.className == 'aNavToggle' );{ var ButtonText NavChild.firstChild.data = document.createTextNode( collapseCaption )NavigationBarHide; } } }
Button.className = 'collapseButton'; // Styles are declared in [[MediaWiki:Common.css]]}
ButtonLink.style.color // adds show/hide-button to navigation barsfunction createNavigationBarToggleButton(){ if (navbarsDone) return; var indexNavigationBar = 0; // iterate over all < div >-elements var divs = Headerdocument.style.colorgetElementsByTagName("div"); ButtonLink for (var i=0; i<divs.setAttribute( 'id', 'collapseButton' length; i++ tableIndex ){ var NavFrame = divs[i]; ButtonLink // if found a navigation bar if (NavFrame.setAttribute( 'href', className == "javascript:collapseTable(NavFrame" + tableIndex + || NavFrame.className == ");NavFrame shown" ); ButtonLink|| NavFrame.appendChild( ButtonText className == "NavFrame hidden");{
Button indexNavigationBar++; var NavToggle = document.appendChildcreateElement( document"a"); NavToggle.createTextNode( className = '[NavToggle' ) ); Button NavToggle.appendChildsetAttribute( ButtonLink 'id', 'NavToggle' + indexNavigationBar); Button NavToggle.appendChildsetAttribute( document.createTextNode'href', 'javascript:toggleNavigationBar( ']+ indexNavigationBar + ' ) ;');
Header var NavToggleText = document.insertBeforecreateTextNode( Button, Header.childNodes[0] NavigationBarHide); tableIndex++ NavToggle.appendChild(NavToggleText); } }
for // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore( var i = 0 NavToggle, NavFrame.firstChild ); i < tableIndex; i++ ) { if NavFrame.setAttribute( hasClass( NavigationBoxes[i]'id', 'collapsedNavFrame' + indexNavigationBar) || ;if ( tableIndex >NavFrame.className == autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' "NavFrame hidden") ) ) { collapseTabletoggleNavigationBar( i indexNavigationBar); } } else // if more Navigation Bars found than Default: hide all if ( hasClass( NavigationBoxes[i], 'innercollapse' ) NavigationBarShowDefault < indexNavigationBar) { for( var element i= NavigationBoxes[1; i]<=indexNavigationBar; while ( element i++ ) { var NavFrame = elementdocument.parentNode getElementById("NavFrame" + i) {; if ( hasClass( element, 'outercollapse' ) NavFrame.className == "NavFrame") { collapseTabletoggleNavigationBar( i ); break; } } } } navbarsDone = true;
}
addOnloadHook( createCollapseButtons createNavigationBarToggleButton); // ********* Test if an element has a certain class ************************************** * * Description: Uses regular expressions and caching for better performance. * Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]// */- end - Dynamic Navigation Barsvar hasClass = ( function() {// ************************************************** var reCache = {};// return function( element, className ) { return ( reCache[className] ? reCache[className] : ( reCache[className] = new RegExp( "(?:\\s|^)" + className + "(?:\\s|$)" ) ) ).test( element.className ); };})();/* </source> */
Anonymer Benutzer