mehrere Countdown über selbe Funktion

Psychomaster

Grünschnabel
HAbe ein Problem mit einer Funktion. Es soll ein Countdown erstellt werden der eine Zeit in Sekunden erhält und diese in Stunden, Minuten und Sekunden runterzählt. Klappt auch ohne Probleme. Wenn ich die selbe Funktion aber ein zweites Mal aufrufe dann funktioniert nur der letzte und springt immer 2 Sekunden.
Dacht ich mir okay, selbe Variable. Dann mach ich eben aus jeder Variable ein Array wo durch eine zusätzliche ID geöffnet wird. Gleichzeitig ist diese ID noch der Name des Elements das geändert wird. Allersdings läuft es imemrnoch genau gleich.
Kann mir jemand helfen wie ich das ändern muss damit mehrere gleichzeitig funktionieren?

Hier noch die Codes:
Code:
		<div id='1'></div>
		<script type='text/javascript'>setCountDown(3600,1);</script>

		<div id='2'></div>
		<script type='text/javascript'>setCountDown(5000,2);</script>

Code:
if (!noc){
	var noc = new Array();
	var v_stunden = new Array();
	var v_minuten = new Array();
	var v_sekunden = new Array();
	var v_timer = new Array();
	var v_timeouter = new Array();
}
function setCountDown(v_timeout,oid) {
    if(noc[oid] == undefined){noc[oid] = 0;}
    v_timeouter[oid] = v_timeout;
    v_timer[oid] = v_timeouter[oid] - noc[oid];
    v_stunden[oid]  = Math.floor(v_timer[oid]/3600);
    v_minuten[oid]  = Math.floor((v_timer[oid]%3600)/60);
    v_sekunden[oid] = Math.floor((v_timer[oid]%3600)%60);
    if(v_stunden[oid] < 10) {v_stunden[oid] = "0" + v_stunden[oid];}
    else if(v_stunden[oid] < 1) { v_stunden[oid] = ""; }
    if(v_minuten[oid] < 10) { v_minuten[oid] = "0" + v_minuten[oid]; }
    else if(v_minuten[oid] < 1) { v_minuten[oid] = ""; }
    if(v_sekunden[oid] < 10) { v_sekunden[oid] = "0" + v_sekunden[oid];}
    if(v_stunden[oid] == "00"){
      var v_ausgabe = v_minuten[oid]+':'+v_sekunden[oid]+' bis Boom';
    }
    else{
      v_ausgabe = v_stunden[oid]+':'+v_minuten[oid]+':'+v_sekunden[oid]+' bis Boom';
    }
    document.getElementById(oid).innerHTML = v_ausgabe;
    noc[oid] ++;
    if (v_timer[oid] < 0) {
      location.reload();
        // Countdown beenden
    } else {
    v_neu = v_timeouter[oid]; 
    v_neu2 = oid;
        setTimeout('setCountDown(v_neu,v_neu2)', 1000);
    }
}
 
Jetzt schau ich blöd O.o... Das hab ich gar net bemerkt. Komischerweise wurde ja was übergeben und ein Timer ist gelaufen. Aber vielen dank. Nun klappt es ^^. 9 Stunden ausprobieren und umschreiben und es scheitert an paar + und ' XD. Du bist meine Rettung. Danke ^^
 

Neue Beiträge

Zurück