2011-08-10 4 views
40

jquery comment obtenir la position d'écran actuelle de la page?jquery comment obtenir la position d'écran actuelle de la page?

Si je fais défiler la roulette de la souris vers une partie de la page, comment puis-je obtenir la position supérieure actuelle de la page?

Je veux cliquer sur un élément de ma page, puis ouvrir un div qui est en haut de l'écran actuel.

Il suffit donc de mettre la position en haut de l'écran courant:

$('#content').css('top','current position'); 

Et

#content 
{ 
position:absolute; 
left:100px; 
} 

Répondre

46
var top = $('html').offset().top; 

devrait le faire.

modifier: ceci est le négatif de $(document).scrollTop()

+3

Ceci ne donnera pas ce que OP recherche. Cela donnera le décalage en haut de l'élément html qui sera une valeur négative si nous avons fait défiler la page. – ShankarSangoli

+3

Comme indiqué dans l'édition, ceci est le négatif de '$ (document) .scrollTop()', qui est oui, est plus approprié dans ce cas. Mais le décalage html * -1 est effectivement la même chose. – numbers1311407

+0

à droite. '$ (document) .scrollTop()', pas '$ (window) .scrollTop()' merci les deux – cj333

58

Utilisez cette option pour obtenir la position de défilement de page.

var screenTop = $(document).scrollTop(); 

$('#content').css('top', screenTop); 
Questions connexes