2012-08-31 14 views
22

ho ottenuto una soluzione da StackOverflow per scorrere fino alla parte superiore della pagina, comeperché utilizzare 'html, body' per scrollTop invece di 'html'

$('html, body').animate({scrollTop: $("#page").offset().top}, 2000); 

ma non sono sicuro del perché di utilizzare ' html, body 'per scrollTop invece di solo' html '?

+6

Per compatibilità con tutti i browser. – VisioN

+0

Indica il collegamento ... http: //stackoverflow.com/questions/832860/how-to-scroll-the-window-using-jquery-scrollto-function –

risposta

26

Alcuni browser applicano il rotolo "globale" per document.documentElement (l'elemento <html>) e gli altri a document.body (l'elemento <body>). Per compatibilità con entrambi, devi applicare lo scroll a entrambi.

+0

Mi chiedo se sai quali browser non supportano il rotolo sopra il 'corpo' perché non riesco a trovare nessuno in questo momento. Avete qualche link che spiega o fornisce ulteriori informazioni sulla vostra risposta? – Alvaro

+0

No, mi spiace, ma puoi facilmente scoprire: Metti 'document.body.scrollTop = 100' nella tua console, e se la pagina scorre, vuol dire che il browser su cui stai usa il corpo. –

+0

Inoltre, la query di @ Alvarao, mi interessa anche se uno di questi comportamenti viola le specifiche o se entrambi sono consentiti. –

Problemi correlati