Antwort an „Auge“ verfassen

Hallo

Für eine Seite möchte ich Bilder im Seiteninhalt als Thumbnails und sie in ihrer normalen Größe per Button in einem Popover geöffnet anzeigen. Zu Testzwecken benutze ich die Originalbilder statt dedizierter Thumbnails für die verkleinerte Anzeige in den Buttons.

Für die Ausgabeelemente benutze ich eine Struktur us einem figure mit dort herinnen enthaltenem img, die ich per template bereitstelle. Wird die Seite aufgebaut, lese ich die vorhandenen Thumbnails aus, entnehme die darin enthaltenen img-Elemente und erzeuge die verborgenen Popovers aus dem Template. Aus dem ausgelesenen img-Element des Thumbnails entnehme ich die URL des Bildes, um sie in das src-Attribut des Zielelements einzufügen.

Das funktioniert soweit. Was aber nicht funktioniert, ist, die intrinsischen Größenangaben auszulesen. Schaue ich mir die Eigenschaften des Objekts des Quellbildes in der Browserkonsole an, finde ich die Angaben zu naturalWidth und naturalHeight, ermittle ich sie per imgElement.naturalWidth (respektive .naturalHeight), erhalte ich stets und ständig 0-Werte.

Mein Code ist in dieser Hinsicht so aufgebaut, wie alle Codebeispiele, die ich finden konnte. Ermittle das Bild im DOM und greife dessen Eigenschaften ab.

// thumb ist das Objekt des Buttons
// es enthält nur das auszulesende img-Element
const imgEl = thumb.querySelector("img");

console.log(imgEl);                // Kontrollausgabe: <img …/>
console.log(imgEl.naturalWidth);   // Kontrollausgabe: 0
console.log(imgEl.naturalHeight);  // Kontrollausgabe: 0

Was übersehe ich hierbei? Das mit console.log(imgEl); in der Konsole angezeigte Objekt hat die für mich nicht auslesbaren Eigenschaften. Warum komme ich da nicht ran?

Tschö, Auge

--
„Habe ich mir das nur eingebildet, oder kann der kleine Hund wirklich sprechen?“ fragte Schnapper. „Er behauptet, nicht dazu imstande zu sein“ erwiderte Victor. Schnapper zögerte (…) „Nun …“ sagte er schließlich, „ich schätze, er muss es am besten wissen.“ Terry Prattchett, Voll im Bilde
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen