Jörg Peschke: Schleife mit set timeout

Beitrag lesen

Hallo,
Ja, mit window.setTimeout oder window.setInterval kannst Du sowas machen. Z.b. in etwa so:

  
function fade (id, actOpac, endOpac, step) {  
   //Abbruchkriterium - Wenn Opacity auf Zielwert ist  
   if (Math.abs(endOpac - actOpac) < step) {  
      changeOpac(endOpac, id);  
      return;  
   }  
  
   //Fade  
   changeOpac(actOpac, id);  
   actOpac += (actOpac > endOpac) ? -step : step;  
   window.setTimeout("fade('"+id+"', "+actOpac+","+endOpac+","+step+");", 40);  
}  
  
// Bsp. FadeIn  
fade ("meinDiv", 0, 100, 10);  
  
//Bsp. FadeOut  
fade ("meinDiv", 100,0,10);  

Dies erhöht/erniedrigt die Opacity alle 40ms um 10. Wählst Du einen anderen Wert für "step" als 10, kannst Du das Faden beschleunigen oder verlangsamen.

(All das ist ohne Gewähr, ich habs nur runtergetippt und nicht ausprobiert - evtl. Syntaxfehler bitte ich also zu entschudligen :) )

Grüße,
Jörg