Déterminer la distance à partir du haut d'une div en haut de la fenêtre avec javascript
Comment puis-je déterminer la distance entre le sommet d'une div en haut de l'écran actuel? Je veux juste la distance en pixel vers le haut de l'écran en cours, pas le haut du document. J'ai essayé quelques petites choses comme .offset()
et .offsetHeight
, mais j'ai juste ne peut pas envelopper mon cerveau autour d'elle. Merci!
- vous pourriez voulez regardez
el.getBoundingClientRect().top+window.scrollY
- Hein, c'est juste
el.getBoundingClientRect().top
. L'ajout de la position de défilement s'ajoute à la distance vers le haut du document. developer.mozilla.org/de/docs/Web/API/Element/... - oui à droite, je voulais juste unjquerify
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
.offset()
pour obtenir le décalage par rapport à ladocument
élément et ensuite utiliser lescrollTop
propriété de lawindow
élément à trouver comment loin en bas de la page que l'utilisateur ait défilé:La
distance
variable détient maintenant la distance entre le haut de la#my-element
élément et le haut-pli.Voici une démo: http://jsfiddle.net/Rxs2m/
Noter que les valeurs négatives signifient que l'élément est au-dessus du haut-pli.
Vanille:
Ouvrez votre navigateur de la console et de faire défiler votre page pour voir la distance.
distanceToTop
retourné est relatif (peut même être négatif si l'utilisateur est déjà passé). Pour prendre cela en compte, l'utilisationwindow.pageYOffset + someDiv.getBoundingClientRect().top
Ceci peut être réalisé purement JavaScript.
Je vois la réponse que je voulais écrire a été répondu par lynx dans les commentaires à la question.
Mais je vais répondre quand même parce que, tout comme moi, parfois, les gens oublient de lire les commentaires.
Donc, si vous voulez juste pour obtenir un élément de la distance (en Pixels) entre le haut de votre fenêtre de l'écran, voici ce que vous devez faire:
utilisation getBoundingClientRect()
C'est tout!
Espère que cela aide quelqu'un 🙂
J'ai utilisé ceci:
code: