[JS/Ajax] Po przeładowaniu kontenera funkcja zawarta w nim podwaja się


(WooQash) #1

Hej. Mam drobny problem ze skryptem w ajaxie.

 

Plik główny:

setInterval("serwertest();", 10000);
function serwertest(){
    jQuery('#serwertest').load('test2.php');
}
serwertest();

Plik test2.php:

var secs = 10;
var set = setInterval("counter();", 1000);
function counter() {
	if (secs >= 0) {
		result = Math.floor(secs);
		document.getElementById("czas").innerHTML = result;
		secs--;
	}
}

Wrzuciłem to co najważniejsze tylko. Mianowicie chodzi o to, że po przeładowaniu pliku test2.php poprzez ajax'a (co 10 sekund) funkcja counter znajdująca się w tymże pliku podwaja swoją siłę tzn. po pierwszym załadowaniu licznik odlicza normalnie 10,9,8... do 0, w drugim już 10,8,6..., w kolejnym 10,6,4... itd. Co zrobić aby za każdym razem dobrze wykonywała się funkcja counter?

 

 


(kalitt) #2

Ponieważ 2 razy ją wykonujesz. Musisz gdzieś usunąć setInterval


(WooQash) #3
setInterval("serwertest();", 10000);
setInterval("counter();", 1000);
function serwertest(){
jQuery('#serwertest').load('test2.php');
}
serwertest(); 

var secs = 10;
function counter() {
    if (secs >= 0) {
        result = Math.floor(secs);
        document.getElementById("czas").innerHTML = result;
        secs--;
    }
}

I śmiga. Podziękował :slight_smile: