Attila Stehr: probleme mit DHTML

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

  1. 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-)>

    --
    Buch macht kluch...
    ...meistens ;)
    1. 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-)>