Zum Inhalt springen
MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
TiKu (Diskussion | Beiträge) Versuch eines Fixes |
TiKu (Diskussion | Beiträge) Debug-Nachricht entfernt |
||
| 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 Event Hooking | // BEGIN Event Hooking | ||
| Zeile 73: | Zeile 74: | ||
function createNavigationBarToggleButton() | function createNavigationBarToggleButton() | ||
{ | { | ||
var indexNavigationBar = 0; | var indexNavigationBar = 0; | ||
// iterate over all < div >-elements | // iterate over all < div >-elements | ||
Version vom 27. Juni 2007, 01:16 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
// ============================================================
// BEGIN Event Hooking
function hookEvent(hookName, hookFunct)
{
if(window.addEventListener) {
window.addEventListener(hookName, hookFunct, false);
} else if(window.attachEvent) {
window.attachEvent("on" + hookName, hookFunct);
}
}
// END Event Hooking
// ============================================================
// ============================================================
// BEGIN 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;
}
// 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);
}
}
}
hookEvent("load", createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================