MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Planet 3DNow! Distributed Computing Wiki
Zur Navigation springen Zur Suche springen
(Debugging)
(Versuch eines Fixes)
Zeile 1: Zeile 1:
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 
  // ============================================================
 
  // ============================================================
  // BEGIN Enable multiple onload functions
+
  // BEGIN Event Hooking
   
+
  function hookEvent(hookName, hookFunct)
  // setup onload functions this way:
+
  {
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
+
  if(window.addEventListener) {
+
    window.addEventListener(hookName, hookFunct, false);
if(!window.aOnloadFunctions) {
+
   } else if(window.attachEvent) {
  var aOnloadFunctions = new Array();
+
     window.attachEvent("on" + hookName, hookFunct);
}
 
 
 
window.onload = function() {
 
   if(window.aOnloadFunctions) {
 
     for(var _i = 0; _i < aOnloadFunctions.length; ++_i) {
 
      aOnloadFunctions[_i]();
 
    }
 
 
   }
 
   }
 
  }
 
  }
+
  // END Event Hooking
  // END Enable multiple onload functions
 
 
  // ============================================================
 
  // ============================================================
  
 
  // ============================================================
 
  // ============================================================
 
  // BEGIN Dynamic Navigation Bars
 
  // BEGIN Dynamic Navigation Bars
// NEEDS Enable multiple onload functions
 
 
   
 
   
 
  // set up the words in your language
 
  // set up the words in your language
Zeile 111: Zeile 102:
 
  }
 
  }
 
   
 
   
  aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
+
  hookEvent("load", createNavigationBarToggleButton);
 
   
 
   
 
  // END Dynamic Navigation Bars
 
  // END Dynamic Navigation Bars
 
  // ============================================================
 
  // ============================================================

Version vom 27. Juni 2007, 03:14 Uhr

/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
 // ============================================================
 // BEGIN Event Hooking
 function hookEvent(hookName, hookFunct)
 {
   if(window.addEventListener) {
     window.addEventListener(hookName, hookFunct, false);
   } else if(window.attachEvent) {
     window.attachEvent("on" + hookName, hookFunct);
   }
 }
 // END Event Hooking
 // ============================================================

 // ============================================================
 // BEGIN Dynamic Navigation Bars
 
 // 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
 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()
 {
    alert("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);
        }
    }
 }
 
 hookEvent("load", createNavigationBarToggleButton);
 
 // END Dynamic Navigation Bars
 // ============================================================