Bild im dyn. generierten div-Bereich wird im IE nicht angezeigt
ThomasL
- javascript
Mahlzeit liebe Leute
Ich bin auf einen seltsamen Effekt gestoßen. Ich generiere anhand von Artikelnummern und Artikelnummer-abhängigen Informationen einen div Layer - bzw. dessen Inhalt.
Den div erstellen ich bereits in der *.html datei wie folgt:
<div id="singleinfobox" class="infobox" style="left:237px;"></div>
Dann soll bei einer Link-Klick-Aktion der Inhalt per innerHTML gesetzt werden. Das geschieht in der *.js (hier ein Codeausschnitt):
var htm = "<a href=\"javascript:;\" onClick=\"MM_showHideLayers('singleinfobox','','hide');\"><img src='img/pfsp_layer-close.gif' width='280' height='21' border='0'></a>";
htm += "<img src='" + artikelinfo[artikelnr]["img"] + "' width='280' height='253'><br>";
htm += "<img src='img/pfsp_layer-anzahl.gif' width='85' height='21'>\n";
htm += "<a href='javascript:;' onClick=\"add('1', '" + artikelnr + "')\";><img src='img/pfsp_layer-plus1.gif' width='37' height='21' border='0'></a>";
htm += "<a href='javascript:;' onClick=\"add('5', '" + artikelnr + "')\";><img src='img/pfsp_layer-plus5.gif' width='30' height='21' border='0'></a>";
htm += "<a href='javascript:;' onClick=\"add('10', '" + artikelnr + "')\";><img src='img/pfsp_layer-plus10.gif' width='39' height='21' border='0'></a>";
htm += "<div class=\"hdleft\">" + artikelname + "</div><div class=\"hdright\">EUR " + artikelinfo[artikelnr]["price"] + "</div>";
htm += "<div class=\"infotext\">" + artikelinfo[artikelnr]["txt"] + "</div>";
diese Variable 'htm' setze ich dann per innerHTML als Inhalt des div. Alle, aber auch wirklich alle Informationen werden sowohl im IE als auch im Firefox korrekt und ohne große Problem angezeigt.
Nur das große Produktbild (htm += "<img src='" + artikelinfo[artikelnr]["img"] + "' width='280' height='253'><br>";
) wird im IE nicht angezeigt. Erst durch klicken im Rechts-Klick-Menü auf "Bild anzeigen" erscheint das Bild.
Habe ich einen Fehler übersehen?
vielen Dank und Grüße,
Thomas
p.s. wenns nötig ist stelle ich auch mehr code zur Verfügung
Hallo
drei Vorschläge:
Hast du dir mal mit alert(htm) ausgeben lassen, was du an HTML-code erzeugst?
Probier mal, das alt-Attribut noch zu setzen (kann mir zwar eigentlich nicht vorstellen, dass es daran liegt, aber ohne alt erzeugst du ja bekanntlich invalides HTML, vielleicht hat das ja doch irgendeinen Einfluß)
Falls du CSS einsetzt: hast du irgendwo eine Regel, die für img display:none oder visibility:hidden setzt? Vielleicht nichtmal für alle img, sondern über nachfahren-selector o.ä. Und evtl. greift diese Regel dann gerade hier...
Sind jetzt leider alles nur Schüsse ins blaue, da ich mir auch gerade nicht erklären kann, was an deinem code "falsch" sein könnte...
Liebe Grüße mbr
... Dinge an die man nicht glaubt.
Ich konnte den Fehler finden, er läßt sich sogar etwas nachvollziehen.
Mein Problem war, dass ich in dieser Zeile:
htm += '<img src="' + artikelinfo[artikelnr]["img"] + '" width="280" height="253" alt="grossbild"><br>\n';
den String in " " eingeschlossen und definiert, und somit den Attribute des img-Tags in ' ' definiert hatte. Das mochte anscheinend der IE nicht so sehr das ich das jetzt abgeändert habe.
Jetzt werden die Bilder ordnungsgemäß angezeigt.
Danke mbr, hast mich auf den richtigen Weg gebracht.
vg, Thomas