MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „→Das folgende JavaScript wird für alle Benutzer geladen.: //================================================================================ //*** Dynami…“) |
|||
Zeile 1: | Zeile 1: | ||
/* Das folgende JavaScript wird für alle Benutzer geladen. */ | /* Das folgende JavaScript wird für alle Benutzer 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 | ||
+ | // ============================================================ |
Version vom 16. März 2014, 18:48 Uhr
/* Das folgende JavaScript wird für alle Benutzer 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
// ============================================================