Counter überspringt Sekunde !

Bluemajor

Grünschnabel
Hi Leute,

Ich habe folgendes Problem: Ich habe mir einen Counter programmiert, der alle Timestamps in ein Gültiges Zeitformat bringt und dann einen nach den anderen Runterzählt. Das funktioniert auch soweit alles wunderbar, doch leider "verschluckt" er hier und da mal eine Sekunde, er überspringt Sie einfach. Ich hoffe Ihr wisst eine Lösung für mein Problem. Bin dankbar für jeden Hinweis.

PHP:
<script>
var TimeStart   = new Date();
var event = 1;
var timeges = 0;
var anzahl = 0;
var timer = 0;
document.produktion.zeit.value = 0;
function Counter(s, id)
{
	var TimeNow =   new Date();
	var p       =   document.getElementById("counter"+ id);
	var TimeLeft=   ((s*1000) - (TimeNow.getTime()-TimeStart.getTime()))/1000;
	if (TimeLeft>0 || TimeLeft==0)
	{
		if(id != event) TimeLeft = s;
		var Tage    =   parseInt(TimeLeft / (60*60*24));
		TimeLeft    =   TimeLeft-(Tage*(60*60*24));
		var Stunden =   parseInt(TimeLeft / (60*60));
		TimeLeft    =   TimeLeft-(Stunden*(60*60));
		var Minuten =   parseInt(TimeLeft / (60));
		TimeLeft    =   TimeLeft-(Minuten*(60));
		var Sekunden=   parseInt(TimeLeft);
		if (Stunden<10) Stunden="0"+Stunden;
		if (Minuten<10) Minuten="0"+Minuten;
		if (Sekunden<10)Sekunden="0"+Sekunden;
		var TimeStr =   Stunden+":"+Minuten+":"+Sekunden;
		if (Tage == 1)  TimeStr = "1 Tag "+TimeStr;
		if (Tage >  1)  TimeStr = Tage+" Tage "+TimeStr;
		p.innerHTML = TimeStr;
		if(id == event)
		{
			document.produktion.zeit.value = Math.floor(document.produktion.zeit.value) + 1;
			window.setTimeout("Counter("+s+", "+id+")",1000);
		}
	}
	else
	{
		anzahl = Math.floor(document.produktion.anzahl.value);
		id++;
		event++;
		if(id<anzahl)
		{
			document.produktion.zeit.value = Math.floor(document.produktion.zeit.value) + 1;
			timeges = Math.floor(document.produktion.zeit.value);
			s = Math.floor(document.getElementById("zeit_"+ id).value);
			s = timeges + s;
			window.setTimeout("Counter("+s+", "+id+")",1000);
		}
		p.innerHTML =   '--:--:--';
	}
}
</script>

MfG Blue
 
Zuletzt bearbeitet:
Zurück