2012-08-31 9 views
22

Tengo una solución de stackoverflow para desplazarse hasta la parte superior de la página comopor qué utilizar 'html, body' para scrollTop en lugar de simplemente 'html'

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

pero no estoy seguro de por qué utilizar ' html, body 'para scrollTop en lugar de solo' html '?

+6

Para compatibilidad con todos los navegadores. – VisioN

+0

Tiene el enlace ... http: //stackoverflow.com/questions/832860/how-to-scroll-the-window-using-jquery-scrollto-function –

Respuesta

26

Algunos navegadores aplican el rollo "global" para document.documentElement (el elemento <html>) y otros para document.body (el elemento <body>). Para compatibilidad con ambos, debe aplicar el desplazamiento a ambos.

+0

Me pregunto si sabe qué navegadores no son compatibles el desplazamiento sobre el 'cuerpo' porque no puedo encontrar a nadie en este momento. ¿Tiene algún enlace que explique u ofrezca más información sobre su respuesta? – Alvaro

+0

No, lo siento, pero puede averiguarlo fácilmente: ponga 'document.body.scrollTop = 100' en su consola, y si la página se desplaza, significa que el navegador en el que se encuentra utiliza el cuerpo. –

+0

Además de la consulta de @ Alvarao, también me interesa si uno de estos comportamientos infringe la especificación o si ambos están permitidos. –

Cuestiones relacionadas