XodoX: Javascript-Problem / Elegante Lösung?

Beitrag lesen

Hallo Daniel,

funktioniert nicht, kommt Memory-Fehler.

Aber der Ansatz ist gut, hab mal selbst was zusammengebastelt:

<script type="text/javascript">  
  window.onload = function() {  
  var ids = new Array("te", "sa", "band");  
  for (var i = 0; i < ids.length; ++i) {  
  setInterval("setLoading(ids[i])",rand(1000,2000));  
  }  
};  
  
  
 function rand(min,max)  
 {  
  return Math.ceil(min + Math.random() * (max - min));  
 }  
  
function setLoadingEnd(elem)  
{  
 document.getElementById(elem).innerHTML='normal';  
}  
  
function setLoading(elem)  
{alert(elem);  
 document.getElementById(elem).innerHTML='<img src=\"loading.gif\">';  
 setTimeout('setLoadingEnd(elem);',rand(500,3500));  
}  
  
</script>

Funktioniert aber noch nicht. Die Funktion setLoading wird zuerst aufgerufen, und dort ist das Argument elem plötzlich undefiniert. Warum das?

In der For-Schleife noch mit einem Wert und dann beim Funktionsaufruf per setInterval muss was schiefgehen.

setInterval("setLoading(ids[i])",rand(1000,2000));

Wenn ich dort stat ids[i] z.B. einen Wert direkt (ohne Variablen-Nutzung) übergebe (z.B. "te") funktioniert alles tadellos.

Ich kapier das echt nicht mehr....