Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Absolute ausgerichtetes Element, Abstand zum Dokumentenursprung..

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Absolute ausgerichtetes Element, Abstand zum Dokumentenursprung..

    Hi Leute,


    ich habe nur eine kurze Frage.

    Ich habe mein Flyout Menu, welches beim mouseenter und mouseleave angezeigt bzw. ausgeblendet wird. Die Untermenu Punkte befinden sich in einem Div, welches mit position: absolute am Eltern-Element (Hauptnavigation) ausgerichtet wird.

    Folgende Frage, ist es möglich von diesem div, den Abstand zu Dokumentenursprung zu ermitteln?

    Mit offset() erhalte ich folgendes Object => Object { top: 0, left: 0 }.

    Code:
    var test = $("#main_navi").find(".sub_navi").offset();

  • #2
    $.fn.offset gibt die Position bezogen aufs Dokument zurück, bezieht die Scrollposition mit ein. $.fn.position gibt die relative Position eines Elements zurück.
    Wenn du nur die absolute Position haben willst: https://developer.mozilla.org/en-US/...dingClientRect
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

    Kommentar


    • #3
      @ rudygotya hab erst mal dank für deine Erklärung. Mit position() habe ich es auch schon versucht, Ergebnis ist das gleiche wie mit offset(), also Object { top: 0, left: 0 }.

      Element.getBoundingClientRect() war mein letzter Ansatz.
      Code:
      var element_pos = $("#main_navi").find(".sub_navi").getBoundingClientRect();
      Damit bekomme ich folgende Fehlermeldung..

      TypeError: $(...).find(...).getBoundingClientRect is not a function

      Kommentar


      • #4
        PHP-Code:
        console.log($("#main_navi").find(".sub_navi").get(0).getBoundingClientRect()) 
        $.fn.offset benutzt auch getBoundingClientRect - von dem her würde ich da kein anderes Ergebnis erwarten. http://james.padolsey.com/jquery/#v=...uery.fn.offset
        I like cooking my family and my pets.
        Use commas. Don't be a psycho.
        [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

        Kommentar


        • #5
          @rudygotya, hab Dank.

          Aber eine Frage hätte ich noch, deine gepostete Codezeile hat funktioniert. Ich bekomme jetzt immerhin keine Fehlermeldung mehr und auch das DOMRect Object.

          Mit .get() kann ich mir eine Collection als Array zurückgeben lassen, mit Parameter (ganzzahlig, ein index Wert) kann ich mir ein bestimmtes Element zurück geben lassen.

          Ich mach es kurz, ich bin davon ausgegangen das ich mir mit $("#main_navi").find(".sub_navi") bereits das benötigte Element geholt hätte. Offensichtlich war dies nicht der Fall, kannst du mir vielleicht erklären, worin mein Fehler bestand?

          Kommentar


          • #6
            $.fn.find gibt dir ein jQuery-Objekt zurück - DOMElemente im jQuery Zuckerguß verpackt. Mit $.fn.get kriegst du mit index 0 das erste DOMElement zurück, damit hast du auch Zugriff auf getBoundingClientRect (DOMElement.prototype).
            I like cooking my family and my pets.
            Use commas. Don't be a psycho.
            [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

            Kommentar


            • #7
              @rudygotya, das habe ich verstanden. So etwas in der Richtung habe ich auch bei der Ausgabe mit und ohne get(0) festgestellt. Ohne get, erhielt ich ein Objekt, mit get das direkte Element.

              Hab vielen Dank für deine Mühe, das nun weis ich worauf ich in Zukunft mehr achten muss. =)

              Kommentar

              Lädt...
              X