nietaL
NGBler
Hey Leute,
ich habe mir mit JS eine Armbanduhr programmiert, die auch hervorragend funktioniert. Neben dem Datum möcht ich auch eine CountDown-Anzeige einbauen.
Meine Idee war die folgende: Ich vergleiche einfach die Milisekunden der Jetztzeit mit der der Zielzeit und rechne es in Tage, Stunden, Minuten und Sekunden um. Wenn es gar nicht funktionieren würde, wäre ich zufriedener als mti diesem Ergebnis, dass nicht falsch aber auch nicht richtig ist.
[src=javascript]var jetzt = new Date();
var day = jetzt.getDate();
function f_uhr()
{
var endDate = 'Mar 09 2017 23:59:59';
var endMs = Date.parse(endDate);
var currentMs = Date.parse(new Date()) ;
var resttage = (endMs-currentMs) / 86400000;
var reststunden = (endMs-currentMs) / 3600000 - Math.round(resttage) * 24;
var restminuten = (endMs-currentMs) / 60000 - Math.round(resttage)*24*60 - Math.round(reststunden)*60;
var restsekunden = (endMs-currentMs) / 1000 - Math.round(resttage)*24*60*60 - Math.round(reststunden)*60*60 - Math.round(restminuten)*60;
document.getElementById('countdown').innerHTML = Math.round(resttage)+':'+Math.round(reststunden)+':'+Math.round(restminuten)+':'+Math.round(restsekunden);
window.setTimeout("f_uhr()", 1000);
}
f_uhr();
[/src]
Wie man auf dem Bild sieht, kommt es zu folgendem Fehler:
Die letzten 29 (29 bis 0) Sekunden des Sekundencountdowns stimmen. Aber statt anstatt von 59 zu beginnen, fängt er bei -1 an und zählt bis -30, wechselt dann auf (+)29 und zählt wieder richtig weiter.
Außerdem wird die -13 ausgelassen, sodass es bei jeder Minute zu einer Verschiebung um je eine Sekunde kommt. Ich raff das nicht.
Hat jemand einen Plan?
ich habe mir mit JS eine Armbanduhr programmiert, die auch hervorragend funktioniert. Neben dem Datum möcht ich auch eine CountDown-Anzeige einbauen.
Meine Idee war die folgende: Ich vergleiche einfach die Milisekunden der Jetztzeit mit der der Zielzeit und rechne es in Tage, Stunden, Minuten und Sekunden um. Wenn es gar nicht funktionieren würde, wäre ich zufriedener als mti diesem Ergebnis, dass nicht falsch aber auch nicht richtig ist.
[src=javascript]var jetzt = new Date();
var day = jetzt.getDate();
function f_uhr()
{
var endDate = 'Mar 09 2017 23:59:59';
var endMs = Date.parse(endDate);
var currentMs = Date.parse(new Date()) ;
var resttage = (endMs-currentMs) / 86400000;
var reststunden = (endMs-currentMs) / 3600000 - Math.round(resttage) * 24;
var restminuten = (endMs-currentMs) / 60000 - Math.round(resttage)*24*60 - Math.round(reststunden)*60;
var restsekunden = (endMs-currentMs) / 1000 - Math.round(resttage)*24*60*60 - Math.round(reststunden)*60*60 - Math.round(restminuten)*60;
document.getElementById('countdown').innerHTML = Math.round(resttage)+':'+Math.round(reststunden)+':'+Math.round(restminuten)+':'+Math.round(restsekunden);
window.setTimeout("f_uhr()", 1000);
}
f_uhr();
[/src]
Wie man auf dem Bild sieht, kommt es zu folgendem Fehler:
Die letzten 29 (29 bis 0) Sekunden des Sekundencountdowns stimmen. Aber statt anstatt von 59 zu beginnen, fängt er bei -1 an und zählt bis -30, wechselt dann auf (+)29 und zählt wieder richtig weiter.
Außerdem wird die -13 ausgelassen, sodass es bei jeder Minute zu einer Verschiebung um je eine Sekunde kommt. Ich raff das nicht.
Hat jemand einen Plan?