2009-08-18 22 views
16

Pracuję nad wtyczką jQuery w obudowie modelu i muszę wiedzieć, jak uzyskać pewne właściwości okna.Zdobądź aktualną pozycję okna w stosunku do treści dokumentu

Pudełko i jego element cieniujący znikają nad górną częścią strony, a moduł cieniujący obejmuje całe ciało, a nie tylko okno (Ważne w przypadku stron z poziomymi pasami przewijania). Kiedy model div zanika, centralizuje się on w poziomie i pionie w oparciu o okno. Nie zadziała to jednak, jeśli użytkownik przewinie stronę w dół (pole będzie na górze strony, ponieważ wyśrodkuje na podstawie samego rozmiaru okna).

Czy istnieje sposób, aby uzyskać górną i dolną pozycję okna względem ciała.
Na przykład użytkownik przewinął stronę w dół i kliknął cokolwiek, aby otworzyć pole modelu, co mogę zrobić, aby uzyskać liczbę pikseli górnej części okna od górnej części ciała.

Odpowiedz

30

Należy to zrobić:

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

Chyba jestem nieporozumienie pytanie myślę, że jesteś po prostu patrząc na

$(window).scrollTop() 
+0

Dziękuję, nie wiedziałem, że jQuery miał funkcję css, aby to uzyskać (dlaczego należy zawsze dokładnie sprawdzać dokumentację). –

0

na nakładce można zrobić

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

i po prostu to pokaż lub ukryj.

+0

Nakładka nie była problemem, była to centrowanie rzeczywistego okna modelu w oknie przeglądarki. Nakładka i pudełko modelu to dwa oddzielne elementy div; pole modelu jest o 1 zindex wyższe niż nakładka. –

Powiązane problemy