thecreep: style.top?

hallo Leute,

ich bin dabei ne kleine Galerie zu basteln, nun will ich ein div-Element, dass mit CSS (position: absolute;) positioniert ist, wo anders hinbewegen.

In der SelfHTML-Doku steht drinne, das das style-Element vom div top- und left-attribute besitzt, jedoch funktioniert dies nicht. In der Firefox - Fehlerconsole steht auch nur eine Warnung, dass die Eigenschaft "top" nicht verarbeitet werden kann.

Das div hat als id "Focused" hier mal mein Quelltext, der dafür relevant ist:

	var o=document.getElementById("Focused");  
	o.style.top=mouseX;

mouseX ist eine Variable wo die aktuelle Maus-Position (X-Koordinate) gespeichert ist, quasi nur eine Zahl. Was ja top eigentlich auch seine müsste, oder täusche ich mich da?

Wenn ich nun aber per typeof(o.style.top) ausgeben lasse was top denn nun ist kommt immer nur string.

wo liegt mein Fehler?

MfG
thecreep

  1. mouseX ist eine Variable wo die aktuelle Maus-Position (X-Koordinate) gespeichert ist, quasi nur eine Zahl. Was ja top eigentlich auch seine müsste, oder täusche ich mich da?

    Ja, du täuscht dich. Alle Maße in CSS erwarten eine Einheit.

    Struppi.

    1. Oh, da lag also das Problem. Eine frage hab ich allerdings noch, wenn der ganznormale Elementfluss ist, also position:static, kann man irgendwie ermitteln, welche Koordinaten dieses Element bei position:absolute hätte?
      Wenn ja wie? einfach a.style.top=b.style.top funktioniert nicht :(

      MfG
      thecreep

      1. Oh, da lag also das Problem. Eine frage hab ich allerdings noch, wenn der ganznormale Elementfluss ist, also position:static, kann man irgendwie ermitteln, welche Koordinaten dieses Element bei position:absolute hätte?

        Ja, mit objekt.offsetTop bzw. offsetLeft und deren offsetParent(s)

        Struppi.

    2. Ja, du täuscht dich. Alle Maße in CSS erwarten eine Einheit.

      Du täuscht dich auch:
      Syntax and basic data types: 4.3.2 Lengths

      "After a zero length, the unit identifier is optional."

      1. Ja, du täuscht dich. Alle Maße in CSS erwarten eine Einheit.

        Du täuscht dich auch:

        Mir war irgendwie klar, dass diese Antwort kommen mußte.

        Du weißt, das ich das weiß, ich weiß das du das weißt, wir Wissen nicht, ob es der OP wußte, es ist aber in diesem Fall böllig unerheblich, da es um dieses Konstrukt ging:

        o.style.top=mouseX;

        Inwieweit hilft hier dein Hinweis?

        Struppi.

        1. Inwieweit hilft hier dein Hinweis?

          Mein Hinweis hilft dem OP natürlich nicht - das hast du bereits in ausreichender Form getan. Ob er jetzt die Einheit immer notiert oder sich bewusst ist, dass er sie optional weglassen darf spielt keine Rolle.

          Ich habs nur der Vollständigkeit halber erwähnt.