MediaWiki:Common.js: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | /* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | ||
/ | // ============================================================ | ||
// 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 | |||
// ============================================================ | |||
// | // ============================================================ | ||
// BEGIN Dynamic Navigation Bars | |||
// NEEDS Enable multiple onload functions | |||
// 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 | |||
var | if (typeof NavigationBarShowDefault == 'undefined' ) { | ||
var NavigationBarShowDefault = 1; | |||
} | |||
var | // shows and hides content and picture (if available) of navigation bars | ||
if (! | // Parameters: | ||
return; | // indexNavigationBar: the index of navigation bar to be toggled | ||
function toggleNavigationBar(indexNavigationBar) | |||
// if | { | ||
for (var | var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); | ||
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); | |||
if (!NavFrame || !NavToggle) { | |||
return false; | |||
} | |||
if ( | |||
{ | // 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; | |||
// END Dynamic Navigation Bars | |||
// ============================================================ | |||
// |
Version vom 11. Mai 2008, 10:43 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
// ============================================================
// 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
// ============================================================
// ============================================================
// BEGIN Dynamic Navigation Bars
// NEEDS Enable multiple onload functions
// 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;
}
// 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;
// END Dynamic Navigation Bars
// ============================================================