MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Rolf (Diskussion | Beiträge) K (Die Seite wurde neu angelegt: →Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen.: //================================================================================ //*** Dy...) |
Rolf (Diskussion | Beiträge) K |
||
Zeile 112: | Zeile 112: | ||
} | } | ||
}); | }); | ||
//================================================================================ | |||
// Einklappbare Infoboxen von Curilias | |||
var HideInfobox = '[–]'; | |||
var ShowInfobox = '[+]'; | |||
function toggleInfobox(indexInfobox) { | |||
var InfoboxContent = document.getElementById("Infobox" + indexInfobox); | |||
var ToggleInfobox = document.getElementById("ToggleInfobox" + indexInfobox); | |||
if (!InfoboxContent || !ToggleInfobox) { return false; } | |||
if (ToggleInfobox.firstChild.data == HideInfobox) { | |||
InfoboxContent.style.display = 'none'; | |||
} else if (ToggleInfobox.firstChild.data == ShowInfobox) { | |||
InfoboxContent.style.display = 'block'; | |||
} | |||
if (ToggleInfobox.firstChild.data == HideInfobox) { | |||
ToggleInfobox.firstChild.data = ShowInfobox; | |||
} else { | |||
ToggleInfobox.firstChild.data = HideInfobox; | |||
} | |||
} | |||
function addToggleInfoboxButton() { | |||
var indexInfobox = 0; | |||
for (var i = 0; InfoboxContainer = document.getElementsByTagName("div")[i]; i++) { | |||
if (InfoboxContainer.className == "ib_container") { | |||
indexInfobox++; | |||
// create linkt to toggle visibility | |||
var ToggleInfobox = document.createElement("a"); | |||
ToggleInfobox.className = 'ib_toggle'; | |||
ToggleInfobox.setAttribute('title', 'Ein-/Ausklappen'); | |||
ToggleInfobox.setAttribute('id', 'ToggleInfobox' + indexInfobox ); | |||
ToggleInfobox.setAttribute('href', 'javascript:toggleInfobox(' + indexInfobox + ');'); | |||
var ToggleCaption = document.createTextNode(HideInfobox); | |||
ToggleInfobox.appendChild(ToggleCaption); | |||
InfoboxContainer.insertBefore(ToggleInfobox, InfoboxContainer.firstChild); | |||
for (var j=0; InfoboxContent = InfoboxContainer.getElementsByTagName("div")[j]; j++) { | |||
if (InfoboxContent.className == "ib_content") { | |||
InfoboxContent.setAttribute('id', 'Infobox' + indexInfobox); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
addOnloadHook(addToggleInfoboxButton); |
Version vom 23. Juli 2008, 14:12 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ //================================================================================ //*** 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; } // adds show/hide-button to navigation bars addOnloadHook(function() { // 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; } } } } function toggleNavigationBarFunction(indexNavigationBar) { return function() { toggleNavigationBar(indexNavigationBar); return false; }; } var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for (var i=0; i<divs.length; i++) { var NavFrame = divs[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', '#'); NavToggle.onclick = toggleNavigationBarFunction(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); } } }); //================================================================================ // Einklappbare Infoboxen von Curilias var HideInfobox = '[–]'; var ShowInfobox = '[+]'; function toggleInfobox(indexInfobox) { var InfoboxContent = document.getElementById("Infobox" + indexInfobox); var ToggleInfobox = document.getElementById("ToggleInfobox" + indexInfobox); if (!InfoboxContent || !ToggleInfobox) { return false; } if (ToggleInfobox.firstChild.data == HideInfobox) { InfoboxContent.style.display = 'none'; } else if (ToggleInfobox.firstChild.data == ShowInfobox) { InfoboxContent.style.display = 'block'; } if (ToggleInfobox.firstChild.data == HideInfobox) { ToggleInfobox.firstChild.data = ShowInfobox; } else { ToggleInfobox.firstChild.data = HideInfobox; } } function addToggleInfoboxButton() { var indexInfobox = 0; for (var i = 0; InfoboxContainer = document.getElementsByTagName("div")[i]; i++) { if (InfoboxContainer.className == "ib_container") { indexInfobox++; // create linkt to toggle visibility var ToggleInfobox = document.createElement("a"); ToggleInfobox.className = 'ib_toggle'; ToggleInfobox.setAttribute('title', 'Ein-/Ausklappen'); ToggleInfobox.setAttribute('id', 'ToggleInfobox' + indexInfobox ); ToggleInfobox.setAttribute('href', 'javascript:toggleInfobox(' + indexInfobox + ');'); var ToggleCaption = document.createTextNode(HideInfobox); ToggleInfobox.appendChild(ToggleCaption); InfoboxContainer.insertBefore(ToggleInfobox, InfoboxContainer.firstChild); for (var j=0; InfoboxContent = InfoboxContainer.getElementsByTagName("div")[j]; j++) { if (InfoboxContent.className == "ib_content") { InfoboxContent.setAttribute('id', 'Infobox' + indexInfobox); } } } } } addOnloadHook(addToggleInfoboxButton);