MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus SchnuppTrupp
K |
K |
||
Zeile 8: | Zeile 8: | ||
} | } | ||
} | } | ||
+ | |||
+ | addOnloadHook( setup ); | ||
+ | |||
function toSt2(n) { | function toSt2(n) { | ||
s = ""; | s = ""; | ||
Zeile 55: | Zeile 58: | ||
} | } | ||
− | + | /** Dynamic Navigation Bars (experimental) ************************************* | |
− | + | * | |
+ | * Description: See [[Wikipedia:NavFrame]]. | ||
+ | * Maintainers: UNMAINTAINED | ||
+ | */ | ||
− | // set up the words in your language | + | // set up the words in your language |
− | var NavigationBarHide = ' | + | var NavigationBarHide = '[' + collapseCaption + ']'; |
− | var NavigationBarShow = ' | + | var NavigationBarShow = '[' + expandCaption + ']'; |
− | // set up max count of Navigation Bars on page, | + | // set up max count of Navigation Bars on page, |
− | // if there are more, all will be hidden | + | // if there are more, all will be hidden |
− | NavigationBarShowDefault = 0; // all bars will be hidden | + | // NavigationBarShowDefault = 0; // all bars will be hidden |
− | // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden | + | // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden |
− | + | var NavigationBarShowDefault = autoCollapse; | |
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | // 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 ( hasClass( NavChild, 'NavPic' ) ) { | |
− | + | NavChild.style.display = 'none'; | |
− | + | } | |
− | + | if ( hasClass( NavChild, 'NavContent') ) { | |
− | + | NavChild.style.display = 'none'; | |
− | + | } | |
− | + | } | |
− | + | NavToggle.firstChild.data = NavigationBarShow; | |
− | + | ||
− | + | // if hidden now | |
− | + | } else if (NavToggle.firstChild.data == NavigationBarShow) { | |
+ | for ( | ||
+ | var NavChild = NavFrame.firstChild; | ||
+ | NavChild != null; | ||
+ | NavChild = NavChild.nextSibling | ||
+ | ) { | ||
+ | if (hasClass(NavChild, 'NavPic')) { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | if (hasClass(NavChild, 'NavContent')) { | ||
+ | NavChild.style.display = 'block'; | ||
+ | } | ||
+ | } | ||
+ | NavToggle.firstChild.data = NavigationBarHide; | ||
+ | } | ||
+ | } | ||
− | + | // adds show/hide-button to navigation bars | |
− | + | function createNavigationBarToggleButton() | |
− | + | { | |
+ | var indexNavigationBar = 0; | ||
+ | // iterate over all < div >-elements | ||
+ | var divs = document.getElementsByTagName("div"); | ||
+ | for( | ||
+ | var i=0; | ||
+ | NavFrame = divs[i]; | ||
+ | i++ | ||
+ | ) { | ||
+ | // if found a navigation bar | ||
+ | if (hasClass(NavFrame, "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); | ||
+ | // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) | ||
+ | for( | ||
+ | var j=0; | ||
+ | j < NavFrame.childNodes.length; | ||
+ | j++ | ||
+ | ) { | ||
+ | if (hasClass(NavFrame.childNodes[j], "NavHead")) { | ||
+ | NavFrame.childNodes[j].appendChild(NavToggle); | ||
+ | } | ||
+ | } | ||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
− | + | addOnloadHook( createNavigationBarToggleButton ); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Version vom 7. Juli 2011, 12:42 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */ function setup() { if (document.getElementById('countdown')) { if (end = new Date(document.getElementById('countdown').innerHTML)) { setTimeout("countdown()", 500); } } } addOnloadHook( setup ); function toSt2(n) { s = ""; if (n < 10) s += "0"; return (s + n).toString(); } function toSt3(n) { s = ""; if (n < 10) s += "00"; else if (n < 100) s += "0"; return (s + n).toString(); } function countdown() { var tname = ' Tage '; var hname = ' Stunden '; var mname = ' Minuten '; var sname = ' Sekunden '; var d = new Date(); var count = Math.floor(end.getTime() - d.getTime()); if(count > 0) { var miliseconds = toSt3(count%1000); count = Math.floor(count/1000); var seconds = toSt2(count%60); count = Math.floor(count/60); if (seconds==1) { sname = ' Sekunde '; } var minutes = toSt2(count%60); count = Math.floor(count/60); if (minutes==1) { mname = ' Minute '; } var hours = toSt2(count%24); count = Math.floor(count/24); if (hours==1) { hname = ' Stunde '; } var days = count; if (days==1) { tname = ' Tag '; } document.getElementById('countdown').innerHTML = days + tname + hours + hname + minutes + mname + seconds + sname +''; setTimeout("countdown()", 1000); } } function rskpopup (url,name,x,y) { newwindow= window.open(url, name, "width=" + x + ",height=" + y + ",scrollbars=no,location=no"); newwindow.focus(); } /** Dynamic Navigation Bars (experimental) ************************************* * * Description: See [[Wikipedia:NavFrame]]. * Maintainers: UNMAINTAINED */ // set up the words in your language var NavigationBarHide = '[' + collapseCaption + ']'; var NavigationBarShow = '[' + expandCaption + ']'; // 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 NavigationBarShowDefault = autoCollapse; // 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 ( hasClass( NavChild, 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( hasClass( NavChild, 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (hasClass(NavChild, 'NavPic')) { NavChild.style.display = 'block'; } if (hasClass(NavChild, 'NavContent')) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName("div"); for( var i=0; NavFrame = divs[i]; i++ ) { // if found a navigation bar if (hasClass(NavFrame, "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); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for( var j=0; j < NavFrame.childNodes.length; j++ ) { if (hasClass(NavFrame.childNodes[j], "NavHead")) { NavFrame.childNodes[j].appendChild(NavToggle); } } 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); } } } addOnloadHook( createNavigationBarToggleButton );