MediaWiki:Common.js

aus SkipperGuide, dem Online-Revierführer über die Segelreviere der Welt.
Version vom 10. März 2007, 21:17 Uhr von Erik (Diskussion | Beiträge) (Bis zu 3 Navigationsleisten aufgeklappt lassen)
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 // ============================================================
 // BEGIN Enable multiple onload functions

 // setup onload functions this way:
 // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!

 if (!window.aOnloadFunctions) {
 var aOnloadFunctions = new Array();
 }

 window.onload = function() {
 if (window.aOnloadFunctions) {
 for (var _i=0; _i<aOnloadFunctions.length; _i++) {
 aOnloadFunctions[_i]();
 }
 }
 }

 // END Enable multiple onload functions
 // ============================================================

 // ============================================================
 // BEGIN Dynamic Navigation Bars
 // NEEDS Enable multiple onload functions

 // set up the words in your language
 var NavigationBarHide = 'Einklappen';
 var NavigationBarShow = 'Ausklappen';

 // set up max count of Navigation Bars on page,
 // if there are more, all will be hidden
 // NavigationBarShowDefault = 0; // all bars will be hidden
 // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
NavigationBarShowDefault = 3;
 if (typeof NavigationBarShowDefault == 'undefined' ) {
 var NavigationBarShowDefault = 1;
 }

 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 // indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(indexNavigationBar)
 {
 var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
 var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

 if (!NavFrame || !NavToggle) {
 return false;
 }

 // if shown now
 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;
 }
 }

 // if hidden now
 } 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;
 }
 }
 }
 }

 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
 var indexNavigationBar = 0;
 // iterate over all < div >-elements
 for(
 var i=0;
 NavFrame = document.getElementsByTagName("div")[i];
 i++
 ) {
 // if found a navigation bar
 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);

 // add NavToggle-Button as first div-element
 // in < div class="NavFrame" >
 NavFrame.insertBefore(
 NavToggle,
 NavFrame.firstChild
 );
 NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
 }
 }
 // if more Navigation Bars found than Default: hide all
 if (NavigationBarShowDefault < indexNavigationBar) {
 for(
 var i=1;
 i<=indexNavigationBar;
 i++
 ) {
 toggleNavigationBar(i);
 }
 }

 }

 aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;

 // END Dynamic Navigation Bars
 // ============================================================