So finden Sie den vertikalen Abstand von oben in px eines Elements mit jQuery

Lesezeit: 2 Minuten

Wie finde ich den vertikalen Abstand vom oberen Rand der Seite zu der Stelle, an der das Element im DOM mit Javascript/jQuery vorhanden ist?

Ich habe so etwas wie

<ul>
    <li>one</li>
    <li>one</li>
    <li>one</li>
    <li>one</li>
    <li class="test">one</li>
    ....
    ....
    ....
    <li>one</li>
</ul>

Hier möchte ich zum Beispiel den vertikalen Abstand vom oberen Rand der Seite zum finden li#test Element.

Ich habe es versucht .scrollTop() aber es kommt immer als 0!

  • ist das was du suchst? var position = $(‘li#test’).position(); alert(position.top);

    – Jonas m

    15. Oktober 2011 um 15:01 Uhr

Verwenden .offset() So erhalten Sie den Abstand zwischen einem Element und dem oberen Rand des Dokuments:

$("li.test").offset().top

Die Antwort von Rob W ist richtig – das gibt Ihnen den Versatz vom oberen Rand der ganzen Seite.

Wenn Sie den Versatz vom oberen Rand des sichtbaren Bildschirms erhalten möchten, sollten Sie Folgendes tun:

var viewableOffset = $("#li.test").offset().top - $(window).scrollTop();

Ich hoffe, das hilft!

  • Haha danke. SO war schon immer ein nützlicher Treffer bei der Google-Suche, und ich war gelangweilt und dachte, ich würde ein paar Fragen beantworten. Ich trolle hier hauptsächlich herum, während ich auf der Schwesterseite von SO, ServerFault, auf eine Antwort warte. Ich bin ein langjähriger Programmierer und Neuling Admin. 🙂

    – der x Faktor

    15. Oktober 2011 um 15:30 Uhr

  • Dies ist ein ausgezeichneter Code, wenn Sie die Position kontrollieren: feste Elemente!

    – Starker

    30. Juli 2013 um 21:27 Uhr

  • Geniale Lösung. Klappt wunderbar.

    – Filburt

    17. November 2021 um 15:25 Uhr

Soweit ich weiss .offset() Ermitteln Sie den Abstand zwischen der aktuellen Bildlaufposition und dem oberen Rand des Dokuments.

Sie müssen dies verwenden: $("li.test").position().top

  • relativ zum offsetParent, das möglicherweise nicht das übergeordnete div ist

    – Aaron

    9. April 2015 um 21:28 Uhr

Verwenden Sie $(element).offset().top und fügen Sie die Höhe vorhandener fester Elemente auf der Seite hinzu, um sie genauer zu machen.

1115250cookie-checkSo finden Sie den vertikalen Abstand von oben in px eines Elements mit jQuery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy