Yadgar: Mit Javascript erzeugte Bildobjekte werden nicht eingebunden!

Beitrag lesen

High!

Das Navigationsleistenproblem konnte ich lösen - es stellte sich als unnötig heraus (zumindest bei den gängigen Auflösungen 800 x 600, 1024 x 768, 1280 x 1024 und 1600 x 1200 - man kann wohl davon ausgehen, dass heutzutage niemand mehr mit 640 x 480 unterwegs ist, erst da würde es wirklich zu eng auf der Navigationsleiste werden), die Grafikelemente proportional zur Bildschirmauflösung zu skalieren.

Was mir allerdings jetzt Kopfzerbrechen bereitet, ist eine Reihe von "Galerie"-Seiten mit jeweils sechs kleinen Vorschaubildern, unter denen beim Überfahren mit der Maus das jeweilige Bild in einer größeren Version (proportional zur Bildschirmauflösung skaliert) angezeigt wird.

Die Programmierung dieser mouseOver-Funktion war kein Problem (siehe Code, Funktionen display() und remove() - leider stellte ich beim Austesten fest, dass trotz proportionaler Skalierung in kleineren Auflösungen die Großbilder immer noch das Fenster sprengen und das Anzeigen einer vertikalen Scrollleiste bewirken, die wiederum die Bedienung der Galerie zu einer wackeligen Angelegenheit macht (ich hoffe, ihr könnt euch vorstellen, was ich meine).

Der Grund ist einfach der, dass die Vorschaubilder nicht mitskaliert werden - und hier fängt es an, merkwürdig zu werden: da außer Netscape 6.x kein Browser die nachträgliche Änderung von img.height bzw. .weight erlaubt, programmierte ich eine Zusatzroutine für die beim Laden gestartete scale()-Funktion (wählt verschieden große vorgehaltene Versionen des Hintergrundbildes entsprechend der Bildschirmauflösung aus), die die sechs Vorschaubilder als Objekte anlegt, mit konkreten Dateien verknüpft und Anzeigegrößen festlegt:

img = new Array(6);
    for (i=0; i<6; i++)
    {
       img[i]=document.createElement("img");
       img.src="mustafa_00.jpg";
       img.height = h/8.533; // Bildschirmauflösung vertikal,
       img.width = h/6.4;    // weiter oben definiert
       img.border = 0;
       document.getElementsByTagName("td")[0].appendChild(img[i]);
    }

und dann in die vorhandene Tabellenstruktur der Galerie einfügen soll. Aber es werden überhaupt keine Bilder, sondern nur Platzhalter angezeigt! Wieso?

Bis bald im Khyberspace!

Yadgar