MediaWiki:NavigationBar.js
Nota: Después de guardar, debes recargar la caché de tu navegador para ver los cambios:
- Mozilla: Pulsa Recargar (o Ctrl-R)
- Internet Explorer / Opera: Ctrl-F5
- Safari: Cmd-R
- Konqueror Ctrl-R.
// Código para plegado/desplegado // <source lang="javascript">
/* Prerequisitos:
var NavigationBarHide = '[ ↑ ]';
var NavigationBarShow = '[ ↓ ]';
var NavigationBarShowDefault = 1;
*/
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((document.getElementById('DontHideNavigationBars')) ? NavigationBarHide : NavigationBarShow );
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in <div class="NavFrame">
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
//Por defecto están todas desplegadas: plegar a menos que la página sea una excepción, incluyendo un elemento con Id 'DontHideNavigationBars'.
if (document.getElementById('DontHideNavigationBars')) return;
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
toggleNavigationBar(i);
}
// if less o equal Navigation Bars found than Default: show all
if (NavigationBarShowDefault >= indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
if (window.addEventListener) window.addEventListener("load",createNavigationBarToggleButton,false);
else if (window.attachEvent) window.attachEvent("onload",createNavigationBarToggleButton);
// </source>