DaRealMatrix: Dynamisches hinzufügen von DOM-Elementen

Hallo liebe Community,
ich habe ein kleines logisches Problem mit dem dynamischen hinzufügen von DOM Elementen per JS. Zunächst einmal habe ich den folgenden Codeblock:

function addProductToShoppingWindow(product) {
  var productContainer = $get("product_layer");
  if (productContainer) {
    var productElem = document.createElement("img");
    var newStyleDefinition = "position: absolute; z-index: 10; top: " + product.ImagePosition.Y + "; left: " + product.ImagePosition.X + ";";

// Label1
    productElem.setAttribute("src", "../" + product.ImagePath);
    productElem.setAttribute("height", product.ImageSize.Height);
    productElem.setAttribute("width", product.ImageSize.Width);
    productElem.setAttribute("style", newStyleDefinition);
    // Label2

productContainer.appendChild(productElem);

}
}

Wenn ich nun nacheinander mehrere (gleich aufgebaute) Strukturen an die Funktion übergebe, habe ich beim ersten Aufruf der Funktion an Label1 und Label2 den (korrekten) Wert "position: absolute; z-index: 10; top: Ypx; left: Xpx;" stehen. Sobald ich allerdings nun weitere Aufrufe an die Methode (mit weiteren Produkten) mache, steht an der Position von Label1 weiterhin der oben stehende Code in newStyleDefinition, aber nach dem setzen über productElem.setAttribute("style", newStyleDefinition); steht nun in der Styledefinition nur noch "position: absolute; z-index: 10;“. Kann mir einer von euch dieses Phänomen erklären? Ich habe echt keinen Schimmer mehr :(

Vielen Dank im Voraus.

Viele Grüße,
DaRealMatrix

  1. Hi,

    [...] nach dem setzen über productElem.setAttribute("style", newStyleDefinition); steht nun in der Styledefinition nur noch "position: absolute; z-index: 10;“. Kann mir einer von euch dieses Phänomen erklären?

    ja: product.ImagePosition.X und product.ImagePosition.Y enthalten keine gültigen Längenwerte.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hey

      ja: product.ImagePosition.X und product.ImagePosition.Y enthalten keine gültigen Längenwerte.

      ich habe nochmal nachgeguckt und mir die Werte für X und Y ebenfalls ausgeben lassen. Das sind gültige Zahlen im Bereich (0-10). Mit der Position (0,0) klappt es ohne Probleme. Alles andere (sei es (1,1) oder ähnliches) bewirkt den oben beschriebenen Fehler. Die Werte überschreiten nicht einmal den div. Diesen habe ich nämlich mit

      <div id="product_layer" style="z-index: 2; position: relative; top: 0px; left: 0px; width: 800px; height: 600px;" />

      beschrieben. Hättest du sonst noch eine Idee?

      Viele Grüße,
      DaRealMatrix

      1. Hi!

        ja: product.ImagePosition.X und product.ImagePosition.Y enthalten keine gültigen Längenwerte.

        ich habe nochmal nachgeguckt und mir die Werte für X und Y ebenfalls ausgeben lassen. Das sind gültige Zahlen im Bereich (0-10).

        Da fehlt aber eine gültige Einheit.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      2. [latex]Mae  govannen![/latex]

        ja: product.ImagePosition.X und product.ImagePosition.Y enthalten keine gültigen Längenwerte.

        ich habe nochmal nachgeguckt und mir die Werte für X und Y ebenfalls ausgeben lassen. Das sind gültige Zahlen im Bereich (0-10).

        Eben. Gültige Zahlen, keine gültigen CSS-Längenwerte.

        Cü,

        Kai

        --
        Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
        selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
      3. Hey,
        ah, verd... das habe ich voll übersehen. 1000 Dank.

        Viele Grüße,
        DaRealMatrix