probleme mit DHTML
Attila Stehr
- browser
0 Ole
Hallo,
ich möchte in ein div bilder einfügen.
Dazu habe ich die folgende HTML-Seite geschrieben:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
test
</title>
</head>
<script language="javascript">
function addImage(object)
{
// attribute erzeugen
var src = document.createAttribute('src');
var style = document.createAttribute('style');
// attribut-werte setzen
src.nodeValue = 'test1.gif';
style.nodeValue = 'position:absolute;top:50px;left:50px;overflow:hidden';
// element erzeugen
var img = document.createElement('img');
// attribute hinzufügen
img.setAttributeNode(src);
img.setAttributeNode(style);
// element einhängen
var markerWindow = document.getElementById(object);
markerWindow.appendChild(img);
}
</script>
<body>
<div name="markerWindow" id="markerWindow" style="position:absolute;top:100px;left:50px;width=200px;height=250px;border;overflow:hidden">
<img name="blueImage" src="blau.gif" height="250" width="200" style="background-color:#00FFFF;overflow:hidden">
</div>
<input type="button" value="add Image" onclick="addImage('markerWindow')">
</body>
</html>
Funktioniert mit Netscape6 ganz gut.
Mit dem IE gibts folgende probleme:
(1) img.setAttributeNode(style); erzeugt einen JS-Fehler: "Member nicht gefunden"
(2) Wenn ich diese Zeile auskommentiere, gibt es zwar keinen fehler mehr, es erscheint jedoch auch kein Bild :-(
Also scheint der IE markerWindow.appendChild(img) nicht (richtig?) auszuführen.
http://selfhtml.teamone.de/dhtml/modelle/dom.htm#neue_knoten funktioniert allerdings mit dem IE6 problemlos... (auch hier wird appendChild() verwendet) ?!
Opera6 meint zu createAttribute(...):
"Attempted to call non-function: has undefined value 'createAttribute'"
Und nun noch zwei Fragen zum div:
Wenn ich das blueImage im div mit height="500" größer mache als das div (height:250px) dann steckt sich das div. Das kann doch so nicht gewollt sein, wenn ich dem div vorher eine größe gebe!? ... Komischweise erfolgt keine steckung, wenn ich das bild mit der javascript-funktion einfüge.
Wenn ich das blueImage ganz weglasse, dann ist das mit javascript eingefügte bild nicht mehr sichtbar.
Wieso?
Attila
hi
Wenn ich das blueImage im div mit height="500" größer mache als das div (height:250px) dann steckt sich das div. Das kann doch so nicht gewollt sein, wenn ich dem div vorher eine größe gebe!? ...
doch, das ist schon oki so, denn afaik gilt standardmäßig "overflow: visible;"
möchtest du die inhalte abschneiden brauchst du "overflow: hidden;", oder zum scrollen "overflow: scroll;"
so long
ole
(8-)>
Hi Ole,
da steht "overflow:hidden" ...
Gruss,
Attila
doch, das ist schon oki so, denn afaik gilt standardmäßig "overflow: visible;"
möchtest du die inhalte abschneiden brauchst du "overflow: hidden;", oder zum scrollen "overflow: scroll;"
so long
ole
(8-)>