2012-08-31 5 views
22

Ich habe eine Lösung von Stackoverflow zum Seitenanfang wiewarum gerade statt ‚html, body‘ für scrollTop verwenden ‚html‘

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

zu blättern Aber ich bin nicht sicher, warum "zu verwenden, html, body 'für scrollTop statt nur' html '?

+6

Für Kompatibilität mit allen Browsern. – VisioN

+0

Hers der Link ... http: //stackoverflow.com/questions/832860/how-to-scroll-the-window-using-jquery-scrollto-funktion –

Antwort

26

Einige Browser gelten die "overall" blättern zu document.documentElement (das <html> Element) und andere zu document.body (das <body> Element). Um mit beiden kompatibel zu sein, müssen Sie den Bildlauf auf beide anwenden.

+0

Ich frage mich, wenn Sie wissen, welche Browser nicht unterstützt die Schriftrolle über den Körper, weil ich im Moment niemanden finden kann. Haben Sie einen Link, der mehr über Ihre Antwort erklärt oder gibt? – Alvaro

+0

Nein, tut mir leid, aber Sie können es leicht herausfinden: Setzen Sie 'document.body.scrollTop = 100' in Ihre Konsole, und wenn die Seite scrollt, bedeutet das, dass der Browser, in dem Sie sich befinden, den Körper verwendet. –

+0

Zusätzlich zu der Frage von @ Alvarao interessiert mich auch, ob eines dieser Verhaltensweisen die Spezifikation verletzt oder ob beide erlaubt sind. –

Verwandte Themen