Kategorien
![]() |
Bitte befüllt die Seite DarkfleetWiki:NoSpamUser in alphabetischer Reihenfolge mit den Namen von Wikibenutzern, welche keine Spam-Bots sind. | ![]() |
MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus DarkfleetWiki
Galak (Diskussion | Beiträge) (→Chat hinzugefügt: ich bezweifle sehr, dass es so klappt, aber einen versuch ist es wert) |
Galak (Diskussion | Beiträge) |
||
(72 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | /* | + | /*********************************************************************/ |
− | == | + | /* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */ |
− | // | + | /* Jedes JavaScript, dass sich in dieser Seite befindet, wird für */ |
− | // | + | /* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten! */ |
+ | /*****************************************************************/ | ||
+ | |||
+ | //============================================================= | ||
+ | |||
+ | /*** 1. Anpassung für die Navigationsleisten ***/ | ||
+ | |||
+ | // Sprachdefinition | ||
+ | var NavigationBarHide = 'Einklappen'; | ||
+ | var NavigationBarShow = 'Ausklappen'; | ||
+ | |||
+ | /** | ||
+ | * Maximale Anzahl an Navigationsleisten pro Seite. | ||
+ | * Gibt es auf einer Seite mehr, werden diese automatisch versteckt! | ||
+ | * var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt | ||
+ | * var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt | ||
+ | **/ | ||
+ | var NavigationBarShowDefault = 0; | ||
+ | |||
+ | /** | ||
+ | * Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste | ||
+ | * Parameter: | ||
+ | * indexNavigationBar: Index der Navigationsleiste | ||
+ | **/ | ||
+ | function toggleNavigationBar(indexNavigationBar) { | ||
+ | var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); | ||
+ | var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); | ||
+ | |||
+ | if (!NavFrame || !NavToggle) { | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | // Verstecken, wenn die Leiste derzeit gezeigt wird | ||
+ | if (NavToggle.firstChild.data == NavigationBarHide) { | ||
+ | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | ||
+ | if (NavChild.className == 'NavPic') { | ||
+ | NavChild.style.display = 'none'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavContent') { | ||
+ | NavChild.style.display = 'none'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavToggle') { | ||
+ | NavChild.firstChild.data = NavigationBarShow; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Anzeigen, wenn die Leiste derzeit versteckt ist | ||
+ | } else if (NavToggle.firstChild.data == NavigationBarShow) { | ||
+ | for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | ||
+ | if (NavChild.className == 'NavPic') { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavContent') { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | if (NavChild.className == 'NavToggle') { | ||
+ | NavChild.firstChild.data = NavigationBarHide; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | /** | ||
+ | * Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu | ||
+ | */ | ||
+ | function createNavigationBarToggleButton() { | ||
+ | var indexNavigationBar = 0; | ||
+ | // Auf alle div-Elemente anwenden | ||
+ | for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) { | ||
+ | // Wenn eine Navigationsleiste gefunden wurde | ||
+ | if (NavFrame.className == "NavFrame") { | ||
+ | indexNavigationBar++; | ||
+ | var NavToggle = document.createElement("a"); | ||
+ | NavToggle.className = 'NavToggle'; | ||
+ | NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | ||
+ | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | ||
+ | |||
+ | var NavToggleText = document.createTextNode(NavigationBarHide); | ||
+ | NavToggle.appendChild(NavToggleText); | ||
+ | |||
+ | // Füge die Links als erstes div-Element hinzu | ||
+ | NavFrame.insertBefore(NavToggle, NavFrame.firstChild); | ||
+ | NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); | ||
+ | } | ||
+ | } | ||
+ | // Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt | ||
+ | if (NavigationBarShowDefault < indexNavigationBar) { | ||
+ | for (var i = 1; i <= indexNavigationBar; i++) { | ||
+ | toggleNavigationBar(i); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // Lade createNavigationBarToggleButton() nach Laden der Seite | ||
+ | jQuery( document ).ready( function( $ ) { | ||
+ | createNavigationBarToggleButton(); | ||
+ | } ); | ||
+ | //addOnloadHook(createNavigationBarToggleButton); | ||
− | + | /*** ENDE: Anpassung für die Navigationsleisten ***/ | |
− | + | ||
− | + | //============================================================= | |
+ | |||
+ | /*** 2. Kampfrechner ***/ | ||
+ | /* | ||
+ | // Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert | ||
+ | // Wird nur auf der Seite [[Kampfrechner]] aufgerufen | ||
+ | if (mw.config.get('wgTitle') === 'Kampfrechner') { | ||
+ | mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' ); | ||
+ | //importScript("MediaWiki:Kampfrechner.js"); | ||
+ | } | ||
+ | */ | ||
+ | /*** ENDE: Kampfrechner ***/ | ||
+ | |||
+ | //============================================================= | ||
+ | |||
+ | /*** 3. Forschungen ***/ | ||
+ | // Ist in [[MediaWiki:CFoptions.js]] ausgelagert | ||
+ | // Siehe auch: [[:Kategorie:Forschung]] | ||
+ | mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' ); | ||
+ | //importScript("MediaWiki:CFoptions.js"); | ||
+ | |||
+ | /*** ENDE: Forschungen ***/ | ||
+ | |||
+ | //============================================================= | ||
+ | |||
+ | /*** 4. NPC-Bilder ***/ | ||
− | + | /** | |
− | + | * Zeigt/Versteckt NPC-Bilder | |
− | + | * Parameter: | |
− | + | * bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht | |
− | + | */ | |
− | + | function showNI(bool) | |
− | + | { | |
− | + | var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht | |
− | + | var ExpireDate = new Date(); | |
− | + | ||
+ | ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000)); | ||
+ | |||
+ | if (bool) { | ||
+ | document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString(); | ||
+ | } else { | ||
+ | document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString(); | ||
+ | } | ||
+ | location.reload(); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Generalfunktion, arbeitet an allen NPC-Bildern | ||
+ | */ | ||
+ | function work_on_npcimages() | ||
+ | { | ||
+ | // Füge Anzeigen/Verstecken-Link hinzu | ||
+ | findmenu = document.getElementById("NIinout"); | ||
+ | if (findmenu) { | ||
+ | showlink=document.createElement("a"); | ||
+ | showlink.setAttribute("href","Javascript:showNI(true)"); | ||
+ | showlink.appendChild(document.createTextNode('anzeigen')); | ||
+ | |||
+ | hidelink=document.createElement("a"); | ||
+ | hidelink.setAttribute("href","Javascript:showNI(false)"); | ||
+ | hidelink.appendChild(document.createTextNode('verbergen')); | ||
+ | |||
+ | findmenu.appendChild(showlink); | ||
+ | findmenu.appendChild(document.createTextNode('/')); | ||
+ | findmenu.appendChild(hidelink); | ||
+ | } | ||
+ | |||
+ | // Standardwert des Anzeigemodus | ||
+ | var NIDisplaymode = "inline"; | ||
+ | |||
+ | // Frage gespeicherten Anzeigemodus ab | ||
+ | var tiramon_deShowNI=document.cookie; | ||
+ | if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") { | ||
+ | if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none"; | ||
+ | } | ||
+ | |||
+ | for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { | ||
+ | if (foundspan.className == "NI") { | ||
+ | foundspan.setAttribute("style", "display:" + NIDisplaymode +";"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | // Starte work_on_npcimages() nach Laden der Seite | ||
+ | jQuery( document ).ready( function( $ ) { | ||
+ | work_on_npcimages(); | ||
+ | } ); | ||
+ | //addOnloadHook(work_on_npcimages); | ||
+ | |||
+ | /*** ENDE: NPC-Bilder ***/ | ||
+ | |||
+ | |||
+ | //============================================================= | ||
+ | |||
+ | /*** 5. Schnee/Feuerwerk ***/ | ||
+ | |||
+ | /** ==Schnee== **/ | ||
+ | // Ist in [[MediaWiki:Schnee.js]] ausgelagert | ||
+ | //if (mw.config.get('wgTitle') === 'Hauptseite') { | ||
+ | //mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript'); | ||
+ | //} | ||
+ | |||
+ | /** ==Feuerwerk== **/ | ||
+ | // Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert | ||
+ | //if (mw.config.get('wgTitle') === 'Hauptseite') { | ||
+ | //mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript'); | ||
+ | //} | ||
− | + | /*** ENDE: Schnee/Feuerwerk ***/ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | //============================================================= | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | /*** 6. Vertikale Tabs ***/ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | // Variablendefinition | |
− | + | var shownTab = Array(); | |
− | + | var disabledLink = Array(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | /** | |
− | + | * Änderung des aktuell ausgewählten Tabs | |
− | + | */ | |
− | + | function showVTab(area, tab) { | |
− | + | var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab)); | |
+ | var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab)); | ||
+ | if (!div || !a) return; | ||
+ | div.style.height = 'auto'; | ||
+ | if (shownTab[area]) shownTab[area].style.height = '0'; | ||
+ | shownTab[area] = div; | ||
− | = | + | var strong = document.getElementById('VTabStrong_' + String(area)); |
− | + | if (!strong) { | |
− | + | strong = document.createElement('strong'); | |
− | + | strong.id = 'VTabStrong_' + String(area); | |
− | + | strong.className = 'selflink'; | |
− | + | } | |
− | |||
− | |||
− | + | if (disabledLink[area]) { | |
− | + | disabledLink[area].appendChild(strong.firstChild); | |
− | + | strong.parentNode.appendChild(disabledLink[area]); | |
− | + | } | |
− | |||
− | |||
− | |||
− | + | strong.appendChild(a.firstChild); | |
+ | a.parentNode.appendChild(strong); | ||
+ | a.parentNode.removeChild(a); | ||
+ | disabledLink[area] = a; | ||
+ | } | ||
− | + | /** | |
+ | * Initialisiert vertikale Tabs | ||
*/ | */ | ||
− | + | function initVTabs() { | |
− | + | var indexVTabs = 0; | |
− | + | for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) { | |
− | + | if (table.className != 'VTabs') continue; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | table.id = 'VTabs_' + String(++indexVTabs); | |
− | + | shownTab[indexVTabs] = disabledLink[indexVTabs] = 0; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | var numTabs = 0; | |
− | + | var contents; | |
− | + | for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) { | |
− | + | var caption = tr.getElementsByTagName('td')[0]; | |
− | + | caption.className = 'VTabCaption'; | |
− | + | caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs); | |
− | |||
− | + | var a = document.createElement('a'); | |
− | + | a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs); | |
− | + | a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');'; | |
− | + | a.appendChild(caption.firstChild); | |
− | + | caption.appendChild(a); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | var content = tr.getElementsByTagName('td')[1]; | |
− | + | var div = document.createElement('div'); | |
+ | div.className = 'VTabContent'; | ||
+ | div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs); | ||
− | + | while (content.childNodes.length) { | |
+ | div.appendChild(content.childNodes[0]); | ||
+ | } | ||
+ | if (contents) { | ||
+ | tr.removeChild(content); | ||
+ | } else { | ||
+ | contents = content | ||
+ | } | ||
+ | contents.rowSpan = numTabs; | ||
+ | contents.appendChild(div); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | // Starte initVTabs() nach Laden der Seite | ||
+ | jQuery( document ).ready( function( $ ) { | ||
+ | initVTabs(); | ||
+ | } ); | ||
+ | //addOnloadHook(initVTabs); | ||
− | + | /*** ENDE: Vertikale Tabs ***/ |
Aktuelle Version vom 8. Januar 2023, 01:57 Uhr
/*********************************************************************/ /* Common.js enthält gemeinsamen JavaScript-Code für alle Benutzer. */ /* Jedes JavaScript, dass sich in dieser Seite befindet, wird für */ /* alle Benutzer geladen. Daher bitte mit Vorsicht bearbeiten! */ /*****************************************************************/ //============================================================= /*** 1. Anpassung für die Navigationsleisten ***/ // Sprachdefinition var NavigationBarHide = 'Einklappen'; var NavigationBarShow = 'Ausklappen'; /** * Maximale Anzahl an Navigationsleisten pro Seite. * Gibt es auf einer Seite mehr, werden diese automatisch versteckt! * var NavigationBarShowDefault = 0; // Alle Navigationsleisten werden versteckt * var NavigationBarShowDefault = 1; // Alle außer die erste Navigationsleiste werden versteckt **/ var NavigationBarShowDefault = 0; /** * Zeigt und versteckt den Inhalt und das Bild der Navigationsleiste * Parameter: * indexNavigationBar: Index der Navigationsleiste **/ function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // Verstecken, wenn die Leiste derzeit gezeigt wird if (NavToggle.firstChild.data == NavigationBarHide) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // Anzeigen, wenn die Leiste derzeit versteckt ist } else if (NavToggle.firstChild.data == NavigationBarShow) { for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } /** * Fügt Anzeigen/Verstecken-Link zur Navigationsleiste hinzu */ function createNavigationBarToggleButton() { var indexNavigationBar = 0; // Auf alle div-Elemente anwenden for (var i = 0; NavFrame = document.getElementsByTagName("div")[i]; i++) { // Wenn eine Navigationsleiste gefunden wurde if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // Füge die Links als erstes div-Element hinzu NavFrame.insertBefore(NavToggle, NavFrame.firstChild); NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // Wenn mehrere Navigationsleisten gefunden wurden, dann wird versteckt if (NavigationBarShowDefault < indexNavigationBar) { for (var i = 1; i <= indexNavigationBar; i++) { toggleNavigationBar(i); } } } // Lade createNavigationBarToggleButton() nach Laden der Seite jQuery( document ).ready( function( $ ) { createNavigationBarToggleButton(); } ); //addOnloadHook(createNavigationBarToggleButton); /*** ENDE: Anpassung für die Navigationsleisten ***/ //============================================================= /*** 2. Kampfrechner ***/ /* // Ist in [[MediaWiki:Kampfrechner.js]] ausgelagert // Wird nur auf der Seite [[Kampfrechner]] aufgerufen if (mw.config.get('wgTitle') === 'Kampfrechner') { mw.loader.load( '/index.php?title=MediaWiki:Kampfrechner.js&action=raw&ctype=text/javascript' ); //importScript("MediaWiki:Kampfrechner.js"); } */ /*** ENDE: Kampfrechner ***/ //============================================================= /*** 3. Forschungen ***/ // Ist in [[MediaWiki:CFoptions.js]] ausgelagert // Siehe auch: [[:Kategorie:Forschung]] mw.loader.load( '/index.php?title=MediaWiki:CFoptions.js&action=raw&ctype=text/javascript' ); //importScript("MediaWiki:CFoptions.js"); /*** ENDE: Forschungen ***/ //============================================================= /*** 4. NPC-Bilder ***/ /** * Zeigt/Versteckt NPC-Bilder * Parameter: * bool: Wenn wahr, NPC-Bilder anzeigen, wenn falsch, dann nicht */ function showNI(bool) { var DaysToExpire = 300; // Cookie wird nach so vielen Tagen gelöscht var ExpireDate = new Date(); ExpireDate.setTime((ExpireDate.getTime() + DaysToExpire * 24 * 60 * 60 * 1000)); if (bool) { document.cookie="tiramon_deShowNI=1; expires=" + ExpireDate.toGMTString(); } else { document.cookie="tiramon_deShowNI=0; expires=" + ExpireDate.toGMTString(); } location.reload(); } /** * Generalfunktion, arbeitet an allen NPC-Bildern */ function work_on_npcimages() { // Füge Anzeigen/Verstecken-Link hinzu findmenu = document.getElementById("NIinout"); if (findmenu) { showlink=document.createElement("a"); showlink.setAttribute("href","Javascript:showNI(true)"); showlink.appendChild(document.createTextNode('anzeigen')); hidelink=document.createElement("a"); hidelink.setAttribute("href","Javascript:showNI(false)"); hidelink.appendChild(document.createTextNode('verbergen')); findmenu.appendChild(showlink); findmenu.appendChild(document.createTextNode('/')); findmenu.appendChild(hidelink); } // Standardwert des Anzeigemodus var NIDisplaymode = "inline"; // Frage gespeicherten Anzeigemodus ab var tiramon_deShowNI=document.cookie; if (tiramon_deShowNI.indexOf("tiramon_deShowNI=") != "-1") { if (tiramon_deShowNI.charAt(tiramon_deShowNI.indexOf("tiramon_deShowNI=")+17)!="1") NIDisplaymode = "none"; } for (var i = 0; foundspan = document.getElementsByTagName("span")[i]; i++) { if (foundspan.className == "NI") { foundspan.setAttribute("style", "display:" + NIDisplaymode +";"); } } } // Starte work_on_npcimages() nach Laden der Seite jQuery( document ).ready( function( $ ) { work_on_npcimages(); } ); //addOnloadHook(work_on_npcimages); /*** ENDE: NPC-Bilder ***/ //============================================================= /*** 5. Schnee/Feuerwerk ***/ /** ==Schnee== **/ // Ist in [[MediaWiki:Schnee.js]] ausgelagert //if (mw.config.get('wgTitle') === 'Hauptseite') { //mw.loader.load('/index.php?title=MediaWiki:Schnee.js&action=raw&ctype=text/javascript'); //} /** ==Feuerwerk== **/ // Ist in [[MediaWiki:Feuerwerk.js]] ausgelagert //if (mw.config.get('wgTitle') === 'Hauptseite') { //mw.loader.load('/index.php?title=MediaWiki:Feuerwerk.js&action=raw&ctype=text/javascript'); //} /*** ENDE: Schnee/Feuerwerk ***/ //============================================================= /*** 6. Vertikale Tabs ***/ // Variablendefinition var shownTab = Array(); var disabledLink = Array(); /** * Änderung des aktuell ausgewählten Tabs */ function showVTab(area, tab) { var div = document.getElementById('VTabContent_' + String(area) + '_' + String(tab)); var a = document.getElementById('VTabLink_' + String(area) + '_' + String(tab)); if (!div || !a) return; div.style.height = 'auto'; if (shownTab[area]) shownTab[area].style.height = '0'; shownTab[area] = div; var strong = document.getElementById('VTabStrong_' + String(area)); if (!strong) { strong = document.createElement('strong'); strong.id = 'VTabStrong_' + String(area); strong.className = 'selflink'; } if (disabledLink[area]) { disabledLink[area].appendChild(strong.firstChild); strong.parentNode.appendChild(disabledLink[area]); } strong.appendChild(a.firstChild); a.parentNode.appendChild(strong); a.parentNode.removeChild(a); disabledLink[area] = a; } /** * Initialisiert vertikale Tabs */ function initVTabs() { var indexVTabs = 0; for (var i = 0; table = document.getElementsByTagName('table')[i]; i++) { if (table.className != 'VTabs') continue; table.id = 'VTabs_' + String(++indexVTabs); shownTab[indexVTabs] = disabledLink[indexVTabs] = 0; var numTabs = 0; var contents; for (var j = 0; tr = table.getElementsByTagName('tr')[j]; j++) { var caption = tr.getElementsByTagName('td')[0]; caption.className = 'VTabCaption'; caption.id = 'VTabCaption_' + String(indexVTabs) + '_' + String(++numTabs); var a = document.createElement('a'); a.id = 'VTabLink_' + String(indexVTabs) + '_' + String(++numTabs); a.href = 'javascript:showVTab(' + String(indexVTabs) + ', ' + String(numTabs) + ');'; a.appendChild(caption.firstChild); caption.appendChild(a); var content = tr.getElementsByTagName('td')[1]; var div = document.createElement('div'); div.className = 'VTabContent'; div.id = 'VTabContent_' + String(indexVTabs) + '_' + String(numTabs); while (content.childNodes.length) { div.appendChild(content.childNodes[0]); } if (contents) { tr.removeChild(content); } else { contents = content } contents.rowSpan = numTabs; contents.appendChild(div); } } } // Starte initVTabs() nach Laden der Seite jQuery( document ).ready( function( $ ) { initVTabs(); } ); //addOnloadHook(initVTabs); /*** ENDE: Vertikale Tabs ***/