Andy: pixelLeft???

Hi!

was fragt diese zeile eigentlich ab? der code ist nicht von mir

left=document.all.up.style.pixelLeft;

Danke
Andy

  1. Hi,

    was fragt diese zeile eigentlich ab?
    left=document.all.up.style.pixelLeft;

    den Wert der CSS-Eigenschaft 'left' in Pixeln als Integer. Natürlich hochgradig proprietär, so wie die gesamte document.all-Suppe.

    der code ist nicht von mir

    Das ist gut. Benutze ihn nicht.

    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. Hallo,

      left=document.all.up.style.pixelLeft;

      den Wert der CSS-Eigenschaft 'left' in Pixeln als Integer. Natürlich hochgradig proprietär, so wie die gesamte document.all-Suppe.

      der code ist nicht von mir

      Das ist gut. Benutze ihn nicht.

      Das ist hochgradig pauschal.

      Erst einmal, .style.pixelLeft ist etwas ganz anderes als .style.left. Es ist aber auch etwas anderes als .currentStyle.left.
      Es ist der aktuell berechnete left-Wert in Pixeln. .style.left ist nur gesetzt, wenn ein Wert per JavaScript genau auf diese Art zugewiesen wurde. .currentStyle.left beinhaltet den realen Wert in der Einheit, in der er im Stylesheet bzw. im style-Attribut oder über .style.left gesetzt wurde. So gesehen ist pixelLeft im MSIE sehr praktisch, wenn man den aktuellen left-Wert in Pixeln braucht. Oder kannst du mir eine bessere Alternative nennen? (offsetLeft vielleicht in einigen Fällen, aber der Bezugspunkt für position:absolute oder position:relative ist, soweit ich das sehe, nicht unbedingt derselbe wie von offsetLeft.)

      Die Alternative für andere Browser, die pixelLeft nicht kennen, wäre übrigens DOM 2 CSS, genauer gesagt getComputedStyle():
      document.defaultView.getComputedStyle(elementobjekt, null).getPropertyValue("left")
      Dabei hängt die Einheit »px« am Wert. Allerdings können auch einige Nicht-IEs pixelLeft, auch solche, die kein DOM 2 CSS kennen. (Ältere Operas meines Wissens. Konqueror gibt vor, DOM 2 CSS zu können, gibt aber eine leere CSSStyleDeclaration zurück. pixelLeft kennt er, hat aber den String »Unknown exception« als Inhalt.)

      Mathias