2012-06-25 21 views
15

Sto cercando di trovare la posizione verticale della barra di scorrimento una funzione simile a scrollTop() di jQuery ma senza jQuery. Ci sono alternative?Trova la posizione verticale della barra di scorrimento senza jQuery

+0

Non è [element.scrollTop] (https://developer.mozilla.org/en/DOM/element.scrollTop) sufficiente? –

+1

basta leggere l'origine di jQuery's scrollTop(): https://github.com/jquery/jquery/blob/master/src/offset.js – snies

risposta

35

soluzione cross-browser:

var supportPageOffset = window.pageXOffset !== undefined; 
var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); 

var scrollLeft = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft; 
var scrollTop = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop; 

source

+0

Penso che questo dovrebbe essere accettato come risposta. La soluzione nella risposta accettata non è cross-browser. – dragn

+0

hai ragione, hai commutato la correzione di sintassi molto piccola: – ama2

+0

: la virgola alla fine della prima riga genererà un errore - stai attento –

4

scrollX e scrolly .... scrolly è l'equivalente di jQuery scrollTop()

6

Sì, la posizione di scorrimento esiste all'interno del DOM in:

window.scrollY; //for vertical scroll. 

Come ho trovato questo:

  1. In Chrome, fare clic con il tasto destro e selezionare Ispeziona elemento.
  2. Trovare e fare clic sul pulsante "Mostra console" (in basso a sinistra)
  3. Nel tipo di console window.scroll per visualizzare le opzioni.

-Questo è un flusso di lavoro eccezionale per risolvere un gran numero di domande JavaScript.

Vedo window.scrollTo (0) come un'opzione per scorrere verso l'alto.

+0

Not XBrowser - https://developer.mozilla.org/en-US/ docs/Web/API/Finestra/scrollY –

Problemi correlati