Vorlage:Countdown: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Loki (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
K (Vorlagen-Kategorie umbenannt) |
||
Zeile 134: | Zeile 134: | ||
addOnloadHook( updateCountdown ); | addOnloadHook( updateCountdown ); | ||
</pre> | </pre> | ||
[[Kategorie:! | [[Kategorie:!Vorlagen/Gimmick|Countdown]]</noinclude> |
Aktuelle Version vom 2. Mai 2013, 15:45 Uhr
Countdown to the Sixth World
-4718 Tage -12 Stunden -50 Minuten
Funktionsfähigkeit erreicht die Vorlage:Countdown erst durch Einfügen des folgenden Javascripts auf der monobook.js-Seite (Link: http://wiki.shadowhelix.de/Benutzer:Name_des_Benutzers/monobook.js), außerdem benötigt die Vorlage hasClass:
Variante 1 - Millisekunden
/* Countdown */ function updateCountdown () { var Countdown = document.getElementsByTagName( "div" ); for ( var i = 0; i < Countdown.length; i++ ) { // div mit class="countdown" raussuchen if ( hasClass( Countdown[i], "countdown" ) ) { // div wird geleert while(Countdown[i].hasChildNodes()){ Countdown[i].removeChild(Countdown[i].lastChild); } var targetTime = new Date("December 24, 2011 00:00:00"); var currentTime = new Date (); var differenceTime = new Date(targetTime - currentTime); var days = (Math.floor(differenceTime/(86400*1000))).toString(); var hours = (Math.floor(differenceTime/(3600*1000)) % 24).toString(); if (hours < 10) {hours = "0"+hours} var minutes = (Math.floor(differenceTime/(60*1000)) % 60).toString(); if (minutes < 10) {minutes = "0"+minutes} var seconds = (Math.floor(differenceTime/1000) % 60).toString(); if (seconds < 10) {seconds = "0"+seconds} var milliseconds = (Math.floor(differenceTime) % 1000).toString(); if (milliseconds < 10) {milliseconds = "00"+milliseconds} else if (milliseconds < 100) {milliseconds = "0"+milliseconds} var CountdownText1 = document.createTextNode( "Countdown to the Sixth World"); var CountdownText2 = document.createTextNode( days+" Tage "+hours+":"+minutes+":"+seconds+":"+milliseconds ); var Brk = document.createElement( "br" ); // einfügen in div Countdown[i].insertBefore( CountdownText2, Countdown[i].childNodes[0] ); Countdown[i].insertBefore( Brk, Countdown[i].childNodes[0] ); Countdown[i].insertBefore( CountdownText1, Countdown[i].childNodes[0] ); // reset der lineHeight notwendig Countdown[i].style.lineHeight = "1.5em"; // nächster aufruf von updateCountdown() nach 1000ms setTimeout('updateCountdown();',1); } } } addOnloadHook( updateCountdown );
Variante 1 - Centisekunden
/* Countdown */ function pause(delay) { var start = new Date(); while ((new Date()) - start <= delay) {} } function updateCountdown () { var Countdown = document.getElementsByTagName( "div" ); for ( var i = 0; i < Countdown.length; i++ ) { // div mit class="countdown" raussuchen if ( hasClass( Countdown[i], "countdown" ) ) { // div wird geleert while(Countdown[i].hasChildNodes()){ Countdown[i].removeChild(Countdown[i].lastChild); } var targetTime = new Date("December 24, 2011 00:00:00"); var currentTime = new Date (); var differenceTime = new Date(targetTime - currentTime); var Brk = document.createElement( "br" ); if (differenceTime > 0) { var days = (Math.floor(differenceTime/(86400*1000))).toString(); var hours = (Math.floor(differenceTime/(3600*1000)) % 24).toString(); if (hours < 10) {hours = "0"+hours} var minutes = (Math.floor(differenceTime/(60*1000)) % 60).toString(); if (minutes < 10) {minutes = "0"+minutes} var seconds = (Math.floor(differenceTime/1000) % 60).toString(); if (seconds < 10) {seconds = "0"+seconds} var centiseconds = (Math.floor(differenceTime/10) % 100).toString(); if (centiseconds < 10) {centiseconds = "0"+centiseconds} var CountdownText1 = document.createTextNode( "Countdown to the Sixth World"); var CountdownText2 = document.createTextNode( days+" Tage "+hours+":"+minutes+":"+seconds+":"+centiseconds ); // einfügen in div Countdown[i].insertBefore( CountdownText2, Countdown[i].childNodes[0] ); Countdown[i].insertBefore( Brk, Countdown[i].childNodes[0] ); Countdown[i].insertBefore( CountdownText1, Countdown[i].childNodes[0] ); // reset der lineHeight notwendig Countdown[i].style.lineHeight = "1.5em"; // nächster aufruf von updateCountdown() nach 100ms setTimeout('updateCountdown();',10); } else { } } } } addOnloadHook( updateCountdown );