Flo: Wie Layer verschieben?

Hallo zusammen,

ich möchte bei Klick auf einen Link, ein Layer einblenden und an eine bestimmte Position verschieben.

Das Script:

function enlargeProject() {

document.getElementById("projectLayerBig").style.visibility = "visible";
 document.getElementById("projectLayerBig").moveTo(100,200);

}

Der Layer:

<div id="projectLayerSmall" name="test" style="position:absolute; width:700; height:460px; z-index:11; left: 227px; top: 245px; visibility: visible;">

Der Link:

<a href="javascript:onClick=enlargeProject()">

Leider klappt das aber nicht. Der Layer erscheint aber wird nicht verschoben :-(

Danke und schöne Grüße

Flo

  1. document.getElementById("projectLayerBig").moveTo(100,200);
                                         ^^^
    <div id="projectLayerSmall" >
                         ^^^^^

    Du solltest die richtige ID ansprechen.

    Roland

    --
    privoffgnaha:)
    1. Hi Roland,

      danke für die Antwort, aber das war ein copy & paste Fehler von mir hier im Forum. Im Quellcode stimmts, aber leider läufts nicht :-(. Ich vermute mal, dass ich das Element falsch anspreche.

      Das Script:

      function enlargeProject() {

      document.getElementById("projectLayerBig").style.visibility = "visible";
       document.getElementById("projectLayerBig").moveTo(100,200);

      }

      Der Layer:

      <div id="projectLayerBig" style="position:absolute; width:700; height:460px; z-index:11; left: 227px; top: 245px; visibility: visible;">

      Der Link:

      <a href="javascript:onClick=enlargeProject()">

      1. Moin

        Ich vermute mal, dass ich das Element falsch anspreche.

        du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.
        Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.

        Gruß
        rfb

        1. Hallo rfb

          du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.

          Nicht ganz richtig.
          Der NN4, der das layer-Element kannte, unterstützte für dieses auch die Methode moveTo.

          Allerdings ist ein Div eben kein layer-Element auch wenn es oft (missverständlich) als Layer bezeichnet wird.

          Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.

          Das funktioniert dann dafür auch mit jedem beliebigen positionierten Element, nicht nur mit Divs.

          Auf Wiederlesen
          Detlef

          --
          - Wissen ist gut
          - Können ist besser
          - aber das Beste und Interessanteste ist der Weg dahin!
          1. Hallo rfb

            Hallo zusammen,

            danke für die Tipps, habs jetzt so gelöst:

            document.getElementById("projectLayerBig").style.left = 200;

            Allerdings gibt es im Internet massenweise Tipps und Tricks die das mit moveTo lösen (zumindest schreiben das es geht ;-))

            Schöne Grüße

            Flo

            du benutzt die Funktion moveTo(), die für Fenster gedacht ist, nicht für Layer.

            Nicht ganz richtig.
            Der NN4, der das layer-Element kannte, unterstützte für dieses auch die Methode moveTo.

            Allerdings ist ein Div eben kein layer-Element auch wenn es oft (missverständlich) als Layer bezeichnet wird.

            Hierfür müsstest du mittels der Eigenschaften left und top usw. im style arbeiten.

            Das funktioniert dann dafür auch mit jedem beliebigen positionierten Element, nicht nur mit Divs.

            Auf Wiederlesen
            Detlef

            1. danke für die Tipps, habs jetzt so gelöst:

              document.getElementById("projectLayerBig").style.left = 200;

              Hast du leider noch nicht, da „200“ kein gültiger CSS-Wert ist. Korrekt wäre

              document.getElementById("projectLayerBig").style.left = "200px";

              Siehe auch <http://de.selfhtml.org/javascript/objekte/style.htm#allgemeines@title=Verwendung von style in JavaScript>

              Roland

              --
              privoffgnaha:)