Usuario:Kazjako/Funciones

De Wikisource, la biblioteca libre.

Función para Commons.js[editar]

Funciones para poder crear "contenedores" para expandir y contraer.

/*
     NavigationBar: gestisce i menu a scomparsa
*/
var NavigationBarHide = '▲ Esconder';
var NavigationBarShow = '▼ Expandir';
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// 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;

Función para Commons.css[editar]

Clases para Metaplantilla de avisos.

/*** Cajas de aviso en discusión nuevas (ambox) que son blancas y con
 * una cinta de color a la izquierda  */
table.ambox {
    margin: 0 10%; /* Will not overlap with other elements */
    border-collapse: collapse;
    background-color: #fbfbfb;
    border: 1px solid #aaa;
    border-left: 10px solid #1e90ff; /* Default "notice" blue */
}
table.ambox th.ambox-text, table.ambox td.ambox-text { /* The message body cell(s) */
    padding: 0.25em 0.5em; /* 0.5em left/right */
    width: 100%; /* Make all templates the same width regardless of text size */
}
table.ambox td.ambox-image { /* The left image cell */
    padding: 2px 0px 2px 0.5em; /* 0.5em left, 0px right */
    text-align: center;
}
table.ambox td.ambox-imageright { /* The right image cell */
    padding: 2px 4px 2px 0px;  /* 0px left, 4px right */
    text-align: center;
}
table.ambox-notice {border-left: 10px solid #1e90ff} /* Blue */
table.ambox-delete, table.ambox-serious {border-left: 10px solid #b22222} /* Red */
table.ambox-content {border-left: 10px solid #f28500} /* Orange */
table.ambox-style {border-left: 10px solid #f4c430} /* Yellow */
table.ambox-merge {border-left: 10px solid #9932cc} /* Purple */
table.ambox-growth {border-left: 10px solid #228b22} /* Green */
table.ambox-protection {border-left: 10px solid #bba} /* Gray */
table.ambox.ambox-mini { /* Small floating box variant */
    float: right;
    clear: right;
    margin: 0 0 0 1em;
    width: 25%;
}
@media print { /* Do not print article message box */
    .ambox {display: none}
}
 

Contenedores CSS[editar]

Para añadir en Common.css

/*
    Clases para contenedores
*/
 
.NavToggle {
   font-size: 95%;
   float:right;
}
 
div.BoxenVerschmelzen,
div.NavFrame {
        margin: .5em 0 0 0;
        padding: 2px;
        border: 1px solid #aaaaaa;
        text-align: center;
        border-collapse: collapse;
        font-size: 95%;
}
div.BoxenVerschmelzen div.NavFrame {
        border-style: none;
        border-style: hidden;
}
div.NavFrame + div.NavFrame {
        border-top-style: none;
        border-top-style: hidden;
}
div.NavPic {
        background-color: #ffffff;
        margin: 0px;
        padding: 2px;
        float: left;
}
div.NavFrame div.NavHead {
        height: 1.6em;
        font-weight: bold;
        font-size: 100%;
        background-color: #efefef;
}
div.NavFrame p {
        font-size: 100%;
}
div.NavFrame div.NavContent {
        font-size: 100%;
}
div.NavFrame div.NavContent p {
        font-size: 100%;
}
div.NavEnd {
        margin: 0px;
        padding: 0px;
        line-height: 1px;
        clear: both;
}

Extra Contenedores[editar]

Añadir en Commons.js

// 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