Usuario:Coordinador/monobook.js

De Wikipedia

(Diferencia entre revisiones)
Revisión de 21:00 8 abr 2007
Coordinador (Discusión | contribuciones)

← Ir a diferencia anterior
Revisión de 21:04 8 abr 2007
Coordinador (Discusión | contribuciones)

Ir a siguiente diferencia →
Línea 1: Línea 1:
-var NavigationBarHide = 'Plegar';+function addLoadEvent(func)
-var NavigationBarShow = 'Desplegar';+
-var NavigationBarShowDefault = 1;+
-function toggleNavigationBar(indexNavigationBar)+
{ {
 + if (window.addEventListener)
 + window.addEventListener("load", func, false);
 + else if (window.attachEvent)
 + window.attachEvent("onload", func);
 +}
 +
 +
 +// ============================================================
 + // BEGIN Dynamic Navigation Bars (experimental)
 +
 + // set up the words in your language
 + var NavigationBarHide = '[ Hide ]';
 + var NavigationBarShow = '[ Show ]';
 +
 + // 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
 + 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 NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 +
if (!NavFrame || !NavToggle) { if (!NavFrame || !NavToggle) {
return false; return false;
} }
 +
// if shown now // if shown now
if (NavToggle.firstChild.data == NavigationBarHide) { if (NavToggle.firstChild.data == NavigationBarHide) {
Línea 21: Línea 46:
if (NavChild.className == 'NavContent') { if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none'; NavChild.style.display = 'none';
- } 
- if (NavChild.className == 'NavToggle') { 
- NavChild.firstChild.data = NavigationBarShow; 
} }
} }
 + NavToggle.firstChild.data = NavigationBarShow;
 +
// if hidden now // if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) { } else if (NavToggle.firstChild.data == NavigationBarShow) {
Línea 39: Línea 63:
NavChild.style.display = 'block'; NavChild.style.display = 'block';
} }
- if (NavChild.className == 'NavToggle') {+ }
- NavChild.firstChild.data = NavigationBarHide;+ NavToggle.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);
 + // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
 + for(
 + var j=0;
 + j < NavFrame.childNodes.length;
 + j++
 + ) {
 + if (NavFrame.childNodes[j].className == "NavHead") {
 + NavFrame.childNodes[j].appendChild(NavToggle);
 + }
} }
 + 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);
 + }
 + }
 +
 + }
 +
 + addLoadEvent(createNavigationBarToggleButton);
 +
 + // END Dynamic Navigation Bars
 + // ============================================================

Revisión de 21:04 8 abr 2007

function addLoadEvent(func) {

 if (window.addEventListener) 
   window.addEventListener("load", func, false);
 else if (window.attachEvent) 
   window.attachEvent("onload", func);

}


// ============================================================

// BEGIN Dynamic Navigation Bars (experimental)

// set up the words in your language
var NavigationBarHide = '[ Hide ]';
var NavigationBarShow = '[ Show ]';

// 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
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';
           }
       }
   NavToggle.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';
           }
       }
   NavToggle.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);
           // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
           for(
             var j=0; 
             j < NavFrame.childNodes.length; 
             j++
           ) {
             if (NavFrame.childNodes[j].className == "NavHead") {
               NavFrame.childNodes[j].appendChild(NavToggle);
             }
           }
           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);
       }
   }

}

addLoadEvent(createNavigationBarToggleButton);

// END Dynamic Navigation Bars
// ============================================================
Herramientas personales
* AVISO: Para que te funcionen los applets de Java debes usar Internet Explorer y seguir las instrucciones de la Ayuda del menu de la izquierda