2012-08-31 14 views
22

Mam roztwór z stackoverflow, aby przewinąć do góry strony jakdlaczego używać „html, body” dla scrollTop zamiast tylko „html”

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

Ale nie jestem pewien, dlaczego używać " html, body 'dla scrollTop zamiast po prostu' html '?

+6

Kompatybilność ze wszystkimi przeglądarkami. – VisioN

+0

Zawiera link ... http: //stackoverflow.com/questions/832860/how-to-scroll-the-window-using-jquery-scrollto-function –

Odpowiedz

26

niektórych przeglądarek zastosować „ogólną” Przewijanie do document.documentElement (komponent <html>) i inni do document.body (elementu <body>). Aby zachować kompatybilność z obydwoma, musisz zastosować przewijanie do obu.

+0

Zastanawiam się, czy wiesz, które przeglądarki nie obsługują zwój nad "ciałem", ponieważ nie mogę teraz znaleźć nikogo. Czy masz jakiś link, który wyjaśnia lub podaje więcej informacji o Twojej odpowiedzi? – Alvaro

+0

Nie, przepraszam, ale możesz łatwo dowiedzieć się: Umieść 'document.body.scrollTop = 100' w konsoli, a jeśli strona przewinie się, oznacza to, że przeglądarka, na której jesteś, używa ciała. –

+0

Oprócz zapytania @ Alvarao, jestem również zainteresowany tym, czy jedno z tych zachowań narusza specyfikację, czy też oba są dozwolone. –

Powiązane problemy