Layer Position auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Layer Position auslesen

    Hellas,

    ich stehe vor einem kleinen Problem.

    Ich möchte den Besuchern meiner Page erlauben, diverse Layer per Drag and Drop zu verschieben. Das Funktioniert auch.
    Nun möchte ich, das nachdem der Layer "losgelassen wurde" die Position des Layers mittels Javascript ausgelesen wird, damit beim reload z.B. der Layer wieder da Positioniert werden kann, wo der User ihn hingezogen hat.


    Any ideas ?


    Danke im Voraus


    Peacie

  • #2
    wirst du afaik für beide browser unterschiedlich ansprechen müssen:

    pageX/pageY => ns/gecko
    offsetTop/offsetLeft => ie

    schau dazu mal bei selfHTML rein.
    Kissolino.com

    Kommentar


    • #3
      über das w3c dom model müßtest du browserübergreifend arbeiten können...

      sollte dann für folgende Browser gehen:
      IE 5.5+
      NS6+
      mozilla 1.2/1.3+
      Opera6+ (kann auch 5 sein, weiß ich gerade nicht)

      womit du die positionen abfragen kannst:
      offsetLeft
      offsetTop

      gruss

      Kommentar


      • #4
        Hellas,

        suuuuper

        Dangöööö. Das war genau der Ansatz den ich brauchte.

        Wen es interessiert, ich habe das wie folgt nun gelöst:

        Code:
        function getLayer()
        {
        layerdrag = document.getElementById('zieh');
        var layery = layerdrag.offsetTop; 
        var layerx = layerdrag.offsetLeft;
        }
        Nun noch eine Frage. Ich bin leider kein Java Guru, ich bin eher ein PHP Wurstler

        Ich möchte gerne den Namen des Layers (in meinem Beispiel der Feste wert 'zieh'), bei onclick an das Javascript übergeben.
        Die Werte für die Position sollten dann in den entsprechenden variablen abgelegt werden:
        Beispiel:

        Der Layer lautet Sublayer1:
        dann sollten die werte in z.B. var layerxSublayer1 abgelegt werden.

        Danke nochmal für den Lösungsansatz @MoRtAlAn und @Wurzel

        Peacie

        Kommentar


        • #5
          Code:
          // Die abgeänderte Funktion
          function getLayer(deine_variable)
          {
          layerdrag = document.getElementById(deine_variable);
          ...
          
          
          // Der Aufruf mit onclick
          onclick="javascript:getLayer('zieh')"
          Ich hab den COde nicht getestet, aber so müsste es gehen.
          it's not a bug,
          it's a feature!

          Kommentar


          • #6
            onclick="getLayer(this.name)" sollte gehen.

            Code:
            function getLayer(lname)
            {
            layerdrag = document.getElementById(lname);
            var layery = layerdrag.offsetTop; 
            var layerx = layerdrag.offsetLeft;
            }
            afaik kennt js keine variablen variablen, aber du könntest versuchen,
            die x/y werte in einem array zu speichern.
            Kissolino.com

            Kommentar


            • #7
              Re: Layer Position auslesen

              Original geschrieben von Peacie
              Nun möchte ich, das nachdem der Layer "losgelassen wurde" die Position des Layers mittels Javascript ausgelesen wird
              was willst du da noch grossartig "auslesen"?

              das drag & drop funktioniert über eine kontinuierliche positionsänderung per javascript.

              an dem punkt, wo der user den layer "loslässt", musst du also nur noch die zuletzt verwendete x-y-koordinate aus deiner funktion irgendwo zwischenspeichern ...
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Hellas,

                Dangöööö


                super schnelle Hilfe.

                /me verneigt sich in Erfurcht.

                Ne, mal ehrlich. Das war präzise und für mich sehr verständliche Hilfe.

                Danke Euch, ich hoffe ich kann mich mal im Bereich PHP revanchieren....


                Bis dahin,

                Peacie

                Kommentar


                • #9
                  @wahsaga ...

                  genau das war mein Problem.

                  Jetzt kommt wieder so ein tausendfach gesehener Spruch....

                  "ich habe keinen plan von javascript" ...

                  ich werde die Werte der einzelnen Layer in einer Session Speichern, damit der User die Navie bnutzen kann, ohne das eine plazierten Layer wieder an den Ausgangspunkt geschoben werden.
                  Da ich das Drag Script für die Layer nicht selber geschrieben habe, hab ich auch null Plan, wo ich bereits beim "draggen" (witziges Wort) die X/Y Werte abfangen kann.


                  Thx

                  Peacie

                  Kommentar


                  • #10
                    @Peacie

                    Kannst du das Script mal posten? Das täte mich mal interessieren.

                    Kommentar

                    Lädt...
                    X