Mam taki oto skrypt timera na stronie:
counter = new Array(); function loadTimer(czas,lokalizacjaTimera,idTimera){ var s = czas; counter.idTimera = setInterval(timer, 1000); // ustawienie funkcji odpowiedajacej za cykliczne wywolanie(co 1 s) funkcji timer() var min = s / 60; // minuty var h = min / 60; // godziny var sLeft = Math.floor(s % 60); // pozostało sekund var minLeft = Math.floor(min % 60); // pozostało minut var hLeft = Math.floor(h); // pozostało godzin if (minLeft < 10) minLeft = "0" + minLeft; if (sLeft < 10) sLeft = "0" + sLeft; var out = hLeft + ":" + minLeft + ":" + sLeft; //tekst wyswietlony uzytkownikowi document.getElementById(""+lokalizacjaTimera+"").innerHTML = out; $("#"+lokalizacjaTimera+"").html(out); // przypisanie tekstu timera do odpowiedniego elementu html function timer() { --s; var min = s / 60; // minuty var h = min / 60; // godziny var sLeft = Math.floor(s % 60); // pozostało sekund var minLeft = Math.floor(min % 60); // pozostało minut var hLeft = Math.floor(h); // pozostało godzin if (minLeft < 10) minLeft = "0" + minLeft; if (sLeft < 10) sLeft = "0" + sLeft; var out = hLeft + ":" + minLeft + ":" + sLeft; //tekst wyswietlony uzytkownikowi $("#"+lokalizacjaTimera+"").html(out); // przypisanie tekstu timera do odpowiedniego elementu html if( s <= 0) //licznik osiągnął 0 { //licznik się wyzerował należy podjąć odpowiednią akcje clearInterval(counter.idTimera); //zatrzymanie licznika console.log("kasujemy timer id="+idTimera); $.ajax({ type : "POST", dataType : "json", url : "up.php", data : { 'idTimera':idTimera}, success: function(data) { if (data.error) { alert("wystąpił błąd"+data.error); } else { alert("zadanie zakończone"); } } }); return; } } }
A wywołuję go tak:
I jeśli jeden Interwał jest uruchomiony to wszystko pięknie działa i interwał zostaje wyłączony, natomiast jeśli jest kilka uruchomionych to mimo wykonania zadania interwał nadal działa.
I tutaj moje pytanie, jak wyłączyć setInterval jeśli np. są 4 uruchomione?
Proszę o pomoc.