2008-11-19 9 views
173

J'ai besoin de saisir la hauteur de la fenêtre et le décalage de défilement dans jQuery, mais je n'ai pas eu de chance de le trouver dans les documents jQuery ou Google.Comment déterminer la hauteur et la position de défilement d'une fenêtre dans jQuery?

Je suis sûr à 90% qu'il existe un moyen d'accéder à la hauteur et à scrollTop pour un élément (y compris sans doute la fenêtre), mais je ne trouve tout simplement pas la référence spécifique.

+2

Que diriez-vous sans jQuery? – Costa

+0

@Costa Cela a probablement été demandé ailleurs sur StackOverflow, et sinon il mérite d'être sa propre question. –

Répondre

287

De jQuery Docs:

const height = $(window).height(); 
const scrollTop = $(window).scrollTop(); 

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/

+1

Les chiffres que je viens de manquer dans les docs; Je les ai fouillés, mais leur organisation n'a franchement pas de sens pour moi (je pense toujours à Mootools, je suppose). Merci! –

+0

Cela ne fonctionne pas dans n'importe quel navigateur pour jQuery 1.3.2 même s'il a été supposé ajouté dans une version antérieure. Soit cela ou j'ai quelque chose de mal avec mon code ici – Philluminati

+1

Vous le faites probablement. :) –

6
$(window).height() 

$(window).width() 

Il y a aussi un plugin pour jquery pour déterminer l'emplacement des éléments et des décalages

http://plugins.jquery.com/project/dimensions

défilement offset = offsetHeight propriété d'un élément

+1

Merci, Joseph. Ce n'est pas exactement ce que je cherchais car j'essayais d'éviter d'utiliser un autre plugin, mais vous m'avez fait chercher dans la bonne direction. À la fin, il s'est avéré que ce dont j'avais vraiment besoin était '$ (window) .scrollTop()' pour déterminer quelle partie de la page a défilé devant la fenêtre pour ajuster les éléments en conséquence. –

+1

oups. mauvais fil. Cependant, mon commentaire s'applique. ;) –

40

de http://api.jquery.com/height/ (Note: La différence entre l'utilisation de la fenêtre et l'objet document)

$(window).height(); // returns height of browser viewport 
$(document).height(); // returns height of HTML document 

de http://api.jquery.com/scrollTop/

$(window).scrollTop() // return the number of pixels scrolled vertically 
Questions connexes