2009-08-18 14 views
16

Je développe un plugin jQuery de boîte modèle, et j'ai besoin de savoir comment obtenir certaines propriétés de la fenêtre.Retour au début de la position actuelle de la fenêtre par rapport au corps du document

La boîte et son div de shader s'affichent en haut de la page et la div de shader couvre le corps entier, pas seulement la fenêtre (Important pour les pages qui ont des barres de défilement horizontales). Lorsque le div du modèle apparaît, il se centre horizontalement et verticalement en fonction de la fenêtre. Cependant, cela ne fonctionnera pas si l'utilisateur fait défiler la page (la boîte sera en haut de la page car elle est basée sur la taille de la fenêtre).

Y at-il un moyen d'obtenir la position supérieure et gauche de la fenêtre par rapport au corps.
Par exemple, l'utilisateur a fait défiler la page vers le bas et a cliqué sur n'importe quoi pour ouvrir la boîte de modèle, que puis-je faire pour obtenir le nombre de pixels du haut de la fenêtre.

Répondre

30

Cela devrait le faire:

document.documentElement.scrollTop || document.body.scrollTop; 
document.documentElement.scrollLeft || document.body.scrollLeft; 
14

À moins que je suis malentendu la question que je pense que vous êtes à la recherche d'

$(window).scrollTop() 
+0

Merci, je ne savais pas jQuery avait une fonction CSS pour obtenir cela (pourquoi on devrait toujours vérifier la documentation à fond) –

0

pour la superposition que vous pouvez faire

.ModalOverlay 
{ 
    position:fixed; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
} 

et vous venez de le montrer ou de le cacher.

+0

La superposition n'était pas le problème, il centrait la boîte modèle réel dans la fenêtre du navigateur. La boîte de recouvrement et le modèle sont deux divs séparés; la boîte modèle est 1 zindex plus haute que la superposition. –

Questions connexes