Countdown mit JavaScript
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aussehen
beispiel
benutzt danke
code
countdown
dank
ersetzen
fehler
genau sagen
hilfe
http
minute
netz
probieren
sekunde
stiel
stunde
url
zahl
zeile
-
Hi, ich habe dieses Script im netz gefunden und wollte es benutzen, nur habe ich festgestellt das keine 0 angezeigt wird. Angezeigt wird = (hier als beispiel) 4: 15: 9:
Ich wollte das es so aussieht 4: 15 : 09: 00
Wäre um hilfe dankbar und hier das Script
<html> <head> <script type="text/javascript"> var dCcount=0; var dC =new Date(); dC.setFullYear(2010); dC.setMonth(10); dC.setDate(04); dC.setHours(22); dC.setMinutes(00); dC.setSeconds(00); function countDown() { var timeouter=0; var memberloged=0; var thetimeshow=""; var oTime =new Date(); var iStampNow=oTime.getTime(); var iStampFuture=dC.getTime(); if ( iStampFuture - iStampNow > 0 ) { oTime.setTime( iStampFuture - iStampNow ) } else { oTime.setTime( iStampNow - iStampFuture)}; stunde=oTime.getHours(); minute=oTime.getMinutes(); secunde=oTime.getSeconds(); if (Math.round((iStampFuture- iStampNow ) / 1000 / 84000)-1 > 0 ) {thetimeshow = (Math.round((iStampFuture - iStampNow) / 1000 / 84000)-1)+":";} stunde=oTime.getHours(); minute=oTime.getMinutes(); secunde=oTime.getSeconds(); if (stunde > 1) {thetimeshow += (oTime.getHours() -1)+":";} if (minute != 0) {thetimeshow += (oTime.getMinutes())+":";} if (secunde != 0) {thetimeshow += (oTime.getSeconds())+"";} window.document.getElementById("oTimeShow0").innerHTML = thetimeshow; migur = setTimeout( "countDown();", 1000 ); } </script> </head> <body onload="countDown()"> <div id="oTimeShow0">Time</div> </html>
Und hier noch ein link zum aktuellen Code http://www.burgersturmextrem.de/BurgerSturmeXtrem/templates/countdown.html
Beitrag zuletzt geändert: 28.5.2010 19:59:24 von bsx -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der Fehler liegt in dieser Zeile:
if (secunde != 0) {thetimeshow += (oTime.getSeconds())+"";}
Da ich kein JS kann, kann ich dir nicht genau sagen, wie es aussehen muss, aber du kannst mal einen Code in etwa diesem Stiel probieren:
if ((minute + stunde + secunde) > 0) {thetimeshow += (oTime.getSeconds())+"";}
Probiere es einfach mal aus.
Entsprechend muss man natürlich die Zeile darüber ebenfalls ersetzen durch:
if((minute + stunde) > 0) {...
Beitrag zuletzt geändert: 28.5.2010 21:52:00 von alphara -
Du ersetzt jeden der drei Ausgabeblöcke (Stunde / Minute / Sekunde, Beispiel Sekunde:
if (sekunde != 0) {thetimeshow += (oTime.getSeconds())+"";}
hierdurch:
if (sekunde <= 0) { var sekunden = oTime.getSeconds(); if (sekunden < 10) { thietimeshow += "0"; } thetimeshow += sekunden; }
Übrigens: Entweder sekunde oder seconds, aber bitte nicht secunde
Gruß,
dex -
Hier mal eine schicke Alternative:
<html> <head> <title></title> <script language="javascript" type="text/javascript"> function differenz(d1, d2) { if (d1 < d2) { var d = d1; d1 = d2; d2 = d; } var t = Math.floor((d1 - d2) / (24 * 60 * 60 * 1000)); if (t < 10) { t = "0" + t; } var s = Math.floor(((d1 - d2) - (t * 24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); if (s < 10) { s = "0" + s; } var m = Math.floor(((d1 - d2) - (t * 24 * 60 * 60 * 1000) - (s * 60 * 60 * 1000)) / (60 * 1000)); if (m < 10) { m = "0" + m; } var sec = Math.floor(((d1 - d2) - (t * 24 * 60 * 60 * 1000) - (s * 60 * 60 * 1000) - (m * 60 * 1000)) / 1000); if (sec < 10) { sec = "0" + sec; } return { 't': t, 's': s, 'm': m, 'sec': sec }; } function update_countdown(element_id, termin) { var now = new Date(); var ausgabe; var diff; if (now.getTime() > termin) { ausgabe = 'Zu spät!'; } else { diff = differenz(termin, now.getTime()); ausgabe = diff.t + ':' + diff.s + ':' + diff.m + ':' + diff.sec; } document.getElementById(element_id).firstChild.data = ausgabe; } function countdown_timer(element_id, termin) { if (document.getElementById(element_id)) { if (!document.getElementById(element_id).firstChild) document.getElementById(element_id).appendChild(document.createTextNode('')); if (termin instanceof Date) { update_countdown(element_id, termin.getTime()); window.setInterval('update_countdown (\'' + element_id + '\', ' + termin.getTime() + ')', 1000); } } } window.onload = function () { countdown_timer('oTimeShow0', new Date(2010, 10, 04, 22, 00, 00)); // Jahr, Monat, Tag, Stunde, Minute, Sekunde } </script> </head> <body> <span id="oTimeShow0"></span> </body> </html>
Beitrag zuletzt geändert: 28.5.2010 22:00:46 von fabo -
@qap2 : Irgentwas stimmt nicht, er gibt auf einmal gar keine Zahlen mehr aus !? Das mit secunde war ich nicht, wie gesagt ich habe das script im netz gefunden. lol
Danke für eure mühe, ich habe schlussendlich das von fabo benutzt, danke hierfür nochmal. Gruß -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage