Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 576
Hei

Så jeg har denne funksjonen her:


HTML-kode

trening9.php // trening 9

function init_reset_trigger(a){

	setTimeout('reset_trigger(a)',750);						
	setTimeout('n_reset_trigger(a)',1000);
	setTimeout('reset_trigger(a)',1250);	
	setTimeout('n_reset_trigger(a)',1500);
	setTimeout('reset_trigger(a)',1750);
	setTimeout('n_reset_trigger(a)',2000);
	setTimeout('reset_trigger(a)',2250);
	setTimeout('n_reset_trigger(a)',2500);
	setTimeout('reset_trigger(a)',2750);
	setTimeout('n_reset_trigger(a)',3000);
	setTimeout('reset_trigger(a)',3250);
	setTimeout('n_reset_trigger(a)',3500);
										
		}
Som dere ser så er poenget egentlig å utløse to forskjellige funksjoner i et tidsintervall. Men spørsmålet mitt er da hvordan jeg kan få funksjonen til å loope dette uten å måtte skrive setTimeout etter setTimeout osv.

loop som f.eks for, while osv er uaktuelt da jeg har prøvd det og det ikke venter på setTimeout. Er det mulig å bestemme hvor fort en for loop looper
eller har noen av dere en lur løsning til denne karen?

Kode

function a() {
    // do a stuff here.
    setTimeout('b()', 100);
}
function b() {
    // Do b stuff here.
    setTimeout('a()', 100);
}
a();
Trådstarter
32 1
Sitat av Akhkharu Vis innlegg

Kode

function a() {
    // do a stuff here.
    setTimeout('b()', 100);
}
function b() {
    // Do b stuff here.
    setTimeout('a()', 100);
}
a();
Vis hele sitatet...
hahaha
Veldig smart, utløser hverandre.

Ut av full nysjerrighet, hvordan kan man stoppe det da?

Kode

var shallStop = false;
function a() {
    if (!shallStop) setTimeout('b()', 100);
}
function b() {
    if (!shallStop) setTimeout('a()', 100);
}
function stop() { shallStop = true; }
a();
setTimeout('stop()', 2000);