Zum Inhalt springen
MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
TiKu (Diskussion | Beiträge) Debug-Nachricht entfernt |
TiKu (Diskussion | Beiträge) CSS-Änderungen |
||
| Zeile 13: | Zeile 13: | ||
// END Event Hooking | // END Event Hooking | ||
// ============================================================ | // ============================================================ | ||
// ============================================================ | // ============================================================ | ||
// BEGIN Dynamic Navigation Bars | // BEGIN Dynamic Navigation Bars | ||
| Zeile 34: | Zeile 34: | ||
function toggleNavigationBar(indexNavigationBar) | function toggleNavigationBar(indexNavigationBar) | ||
{ | { | ||
var NavToggle = document.getElementById(" | var NavToggle = document.getElementById("dcw_navitoggle" + indexNavigationBar); | ||
var NavFrame = document.getElementById(" | var NavFrame = document.getElementById("dcw_naviframe" + indexNavigationBar); | ||
if(!NavFrame || !NavToggle) { | if(!NavFrame || !NavToggle) { | ||
| Zeile 44: | Zeile 44: | ||
if(NavToggle.firstChild.data == NavigationBarHide) { | if(NavToggle.firstChild.data == NavigationBarHide) { | ||
for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navipicture') { | ||
NavChild.style.display = 'none'; | NavChild.style.display = 'none'; | ||
} | } | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navicontent') { | ||
NavChild.style.display = 'none'; | NavChild.style.display = 'none'; | ||
} | } | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navitoggle') { | ||
NavChild.firstChild.data = NavigationBarShow; | NavChild.firstChild.data = NavigationBarShow; | ||
} | } | ||
| Zeile 58: | Zeile 58: | ||
} else if(NavToggle.firstChild.data == NavigationBarShow) { | } else if(NavToggle.firstChild.data == NavigationBarShow) { | ||
for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | for(var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) { | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navipicture') { | ||
NavChild.style.display = 'block'; | NavChild.style.display = 'block'; | ||
} | } | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navicontent') { | ||
NavChild.style.display = 'block'; | NavChild.style.display = 'block'; | ||
} | } | ||
if(NavChild.className == ' | if(NavChild.className == 'dcw_navitoggle') { | ||
NavChild.firstChild.data = NavigationBarHide; | NavChild.firstChild.data = NavigationBarHide; | ||
} | } | ||
| Zeile 78: | Zeile 78: | ||
for(var i = 0; NavFrame = document.getElementsByTagName("div")[i]; ++i) { | for(var i = 0; NavFrame = document.getElementsByTagName("div")[i]; ++i) { | ||
// if found a navigation bar | // if found a navigation bar | ||
if(NavFrame.className == " | if(NavFrame.className == "dcw_naviframe") { | ||
++indexNavigationBar; | ++indexNavigationBar; | ||
var NavToggle = document.createElement("a"); | var NavToggle = document.createElement("a"); | ||
NavToggle.className = ' | NavToggle.className = 'dcw_navitoggle'; | ||
NavToggle.setAttribute('id', ' | NavToggle.setAttribute('id', 'dcw_navitoggle' + indexNavigationBar); | ||
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); | ||
| Zeile 89: | Zeile 89: | ||
// add NavToggle-Button as first div-element | // add NavToggle-Button as first div-element | ||
// in < div class=" | // in < div class="dcw_naviframe" > | ||
NavFrame.insertBefore(NavToggle, NavFrame.firstChild); | NavFrame.insertBefore(NavToggle, NavFrame.firstChild); | ||
NavFrame.setAttribute('id', ' | NavFrame.setAttribute('id', 'dcw_naviframe' + indexNavigationBar); | ||
} | } | ||
} | } | ||
Version vom 27. Juni 2007, 11:23 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("dcw_navitoggle" + indexNavigationBar);
var NavFrame = document.getElementById("dcw_naviframe" + 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 == 'dcw_navipicture') {
NavChild.style.display = 'none';
}
if(NavChild.className == 'dcw_navicontent') {
NavChild.style.display = 'none';
}
if(NavChild.className == 'dcw_navitoggle') {
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 == 'dcw_navipicture') {
NavChild.style.display = 'block';
}
if(NavChild.className == 'dcw_navicontent') {
NavChild.style.display = 'block';
}
if(NavChild.className == 'dcw_navitoggle') {
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 == "dcw_naviframe") {
++indexNavigationBar;
var NavToggle = document.createElement("a");
NavToggle.className = 'dcw_navitoggle';
NavToggle.setAttribute('id', 'dcw_navitoggle' + 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="dcw_naviframe" >
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
NavFrame.setAttribute('id', 'dcw_naviframe' + 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
// ============================================================