eddi: Schleifenkontrolle per globale Variablen oder mit Class-Objekt?

Beitrag lesen

Hallo,

eine Slideshow durchwandert eine Menge Bilder eines Arrays in einer for-Schleife. Mit setTimeout läßt sich das ganze ja auch so regulieren, dass man die Bilder gemütlich betrachten kann (zB. 4 secs/img).

IMHO würde sich window.setInterval() eher anbieten.

Nun will ich dem Benutzer aber eine Möglichkeit geben, an einer beliebigen Stelle auf STOP zu drücken. Hier sollte die Slideshow stehen bleiben.

Das wäre, wie gesagt, kein Problem per Event-Handler window.clearInterval aufzurufen.

  
var i=0;  
function initslideshow(){  
   // [.....]  
   document.slide.src='slides/' + slds[i];  
   i++;  
   if(i==slds.length){  
       i=0;  
   }  
}  
function halt(e){  
   if(e.firstChild.data=='halt'){  
       e.firstChild.data='weiter';  
       window.clearInterval(inter);  
   }  
   else{  
       e.firstChild.data='halt';  
       inter=window.setInterval("initslideshow()",4000);  
   }  
}  
var inter=window.setInterval("initslideshow()",4000);  

<b onClick="halt(this)">halt</b>

Gruß aus Berlin!
eddi