Usuario:Coordinador/monobook.js
De Wikipedia
(Diferencia entre revisiones)
												
			
			| Revisión de 21:04 8 abr 2007 Coordinador (Discusión | contribuciones) ← Ir a diferencia anterior  | 
				Revisión de 21:05 8 abr 2007 Coordinador (Discusión | contribuciones) Ir a siguiente diferencia →  | 
			||
| Línea 6: | Línea 6: | ||
| window.attachEvent("onload", func); | window.attachEvent("onload", func); | ||
| } | } | ||
| - | |||
| - | |||
| // ============================================================ | // ============================================================ | ||
| // BEGIN Dynamic Navigation Bars (experimental) | // BEGIN Dynamic Navigation Bars (experimental) | ||
| - | |||
| // set up the words in your language | // set up the words in your language | ||
| var NavigationBarHide = '[ Hide ]'; | var NavigationBarHide = '[ Hide ]'; | ||
| var NavigationBarShow = '[ Show ]'; | var NavigationBarShow = '[ Show ]'; | ||
| - | |||
| // set up max count of Navigation Bars on page, | // set up max count of Navigation Bars on page, | ||
| // if there are more, all will be hidden | // if there are more, all will be hidden | ||
| Línea 20: | Línea 16: | ||
| // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden | // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden | ||
| var NavigationBarShowDefault = 1; | var NavigationBarShowDefault = 1; | ||
| - | |||
| - | |||
| // shows and hides content and picture (if available) of navigation bars | // shows and hides content and picture (if available) of navigation bars | ||
| // Parameters: | // Parameters: | ||
| Línea 29: | Línea 23: | ||
| 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 49: | Línea 41: | ||
| } | } | ||
| NavToggle.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 67: | Línea 58: | ||
| } | } | ||
| } | } | ||
| - | |||
| // adds show/hide-button to navigation bars | // adds show/hide-button to navigation bars | ||
| function createNavigationBarToggleButton() | function createNavigationBarToggleButton() | ||
| Línea 80: | Línea 70: | ||
| // if found a navigation bar | // if found a navigation bar | ||
| if (NavFrame.className == "NavFrame") { | if (NavFrame.className == "NavFrame") { | ||
| - | |||
| indexNavigationBar++; | indexNavigationBar++; | ||
| var NavToggle = document.createElement("a"); | var NavToggle = document.createElement("a"); | ||
| Línea 86: | Línea 75: | ||
| NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); | ||
| NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | ||
| - | |||
| var NavToggleText = document.createTextNode(NavigationBarHide); | var NavToggleText = document.createTextNode(NavigationBarHide); | ||
| NavToggle.appendChild(NavToggleText); | NavToggle.appendChild(NavToggleText); | ||
| Línea 112: | Línea 100: | ||
| } | } | ||
| } | } | ||
| - | |||
| } | } | ||
| - | |||
| addLoadEvent(createNavigationBarToggleButton); | addLoadEvent(createNavigationBarToggleButton); | ||
| - | |||
| // END Dynamic Navigation Bars | // END Dynamic Navigation Bars | ||
| // ============================================================ | // ============================================================ | ||
Revisión de 21:05 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
// ============================================================
						
			
		
