2009-08-18 10 views
16

Sto sviluppando un plug-in jQuery della box modello e ho bisogno di sapere come ottenere alcune proprietà della finestra.Ottieni la posizione della finestra corrente rispetto al corpo del documento

La casella e il suo ombreggiatore div scoloriscono in cima alla pagina e il div shader copre il corpo completo, non solo la finestra (Importante per le pagine che presentano barre di scorrimento orizzontali). Quando il modello div si affievolisce, si centra orizzontalmente e verticalmente in base alla finestra. Tuttavia, questo non funzionerà se l'utente scorrerà la pagina verso il basso (la casella sarà nella parte superiore della pagina poiché si basa sulla dimensione della finestra da sola).

C'è un modo per ottenere la finestra in alto e la posizione sinistra rispetto al corpo.
Ad esempio, l'utente ha fatto scorrere la pagina verso il basso e ha fatto clic su qualsiasi elemento per aprire la casella del modello, cosa posso fare per ottenere il numero di pixel che la parte superiore della finestra è verso il basso dalla parte superiore del corpo.

risposta

30

Questo dovrebbe farlo:

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

A meno che io sto equivoco la questione penso che solo in cerca di

$(window).scrollTop() 
+0

Grazie, non sapevo che jQuery aveva una funzione css per ottenerlo (perché si dovrebbe sempre controllare la documentazione a fondo) –

0

per la sovrapposizione che si può fare

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

e tu lo mostri o lo nascondi.

+0

L'overlay non era il problema, stava centrando la finestra del modello reale nella finestra del browser. La sovrapposizione e la casella del modello sono due div separate; la casella del modello è 1 zindex più alta della sovrapposizione. –

Problemi correlati