Kai345: Es ist noch viel zu tun.

Beitrag lesen

[latex]Mae  govannen![/latex]

Erzeuge doch mal für jedes Bild nur einmal ein Objekt und klone es dann entsprechend. Gegebenenfalls auch noch das umschließende Element nicht sichtbar schalten und erst einblenden, wenn die Karte aufgebaut ist. Ansonsten muß der Browser bei jedem Teilbild die komplette Seite neu rendern.

ok ... und wie mache ich das?

Vor der Schleife jeweis ein image-Objekt für jedes verwendete Bild (und ggf. gleichbleibende Attribute) erstellen und dieses innerhalb der Schleife klonen und die spezifischen Attribute und Handler hinzufügen wie bisher. Also die createElement() und setAttribute("src","bildname") rausschmeißen und durch einen neuen Klon des schon vorhandenen Objekts ersetzen. Wobei setAttribute() ohnehin nicht immer die beste Wahl ist. Besser ist (am Beispiel deiner bisherigen Erzeugungsart)

....  
img_obj = document.createElement("img");  
img_obj.src = "bild.gif";  
img_obj.title = "Ich bin ein Bild";  
...

Aber wie gesagt, ich weiß nicht, ob überhaupt jedes Mal die Ressource (Hier: Das jeweilige Bild) neu angefordert wird [eigentlich sollte dies nicht so sein, wozu gibt es schließlich den Cache], oder ob die Verzögerung nur beim Rendern auftritt. In diesem Fall bringt die Änderung mit dem Klonen dann nichts oder nicht viel (auch wenn ich es trotzdem "schöner" finde). Du kannst ja bevor du das alles änderst mal mal schauen, ob der Aufbau in einem unsichtbar geschalteten Element schneller geht.

Cü,

Kai

--
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?