Der Martin: Problem mit Image-Objekt im IE

Beitrag lesen

Hi,

Es funktioniert wie folgt: Er geht alle mittels PHP gefundenen Dateien durch und ersetzt vorgefertige Container mit dem geladenen Bild.

da du hier einen Teil deiner Programmlogik in PHP und einen anderen Teil in Javascript realisierst, sollstest du die beiden Teile zum Debugging strikt trennen. Poste also bitte, wenn du den JS-Teil diskutieren möchtest, nur den JS-Code, der keine PHP-Blöcke mehr hat.

for (i = 1; i <= <?=$fileCount?>; ++i) {

myPicture = new Image();
  myPicture.src = "<?=$path?>" +i+".jpg";
  myPicture.onload = changePicture(i);
  delete myPicture;

}

Der Sinn dieser Schleife will sich mir nicht erschließen. Du läufst hier quasi n-mal durch, erzeugst in jedem Durchlauf ein Image-Objekt, bestückst es mit bestimmten Eigenschaften, und wirfst es sofort wieder weg. Was hat das für einen Zweck?

function changePicture(index) {
document.getElementById("picture_"+index).src = myPicture.src;

Das kann nicht funktionieren: Bevor loadImage() einmal durchgelaufen ist, ist myPicture nicht initialisiert, danach ungültig - es wurde ja nach jedem Schleifendurchlauf wieder "deleted". Also egal, wann diese Anweisung ausgeführt wird, "myPicture has no properties".

Ich glaube, du hast noch einen schweren Denkfehler in deinem Konzept.

So long,
 Martin

--
Bitte komme jemand mit einem *g* zum Wochenende, damit nicht über mich gelacht wird.
  (Gunnar Bittersmann)