2012-05-09 10 views
10

le seguenti opere in Chrome/FF ecc ...jQuery animati scrollTop non funziona in IE 7

$('body').animate({scrollTop : 0}, 0); 

Tuttavia, in IE 7, ma non fa nulla.
C'è un'alternativa?

+0

@ Scorpion-Prince jQuery animare assolutamente funziona su scrollTop. L'ho usato molte volte nella produzione, cross browser. – benastan

+0

Vedere http://stackoverflow.com/questions/2123690/jquery-animate-scroll-top-top-slow – benastan

risposta

21

EDIT Come sottolineato da molti, è meglio usare:

$('body, html').animate({scrollTop : 0}, 0); 
+1

Non penso che funzioni in tutti i browser. ''body, html'' è un selettore migliore (vedi altra risposta). –

+1

Questo non funziona bene in tutti i browser. Piuttosto usa l'altra risposta. – Richard

+0

Sì, questo non funziona in IE 11 e FF – Shiljo

17
$('body, html').animate({scrollTop : 0}, 0); 
+0

'$ ('body, html')' funziona davvero! – Rockallite

4

in IE8, io uso $(document).scrollTop() per ottenere la proprietà scrollTop, $('body').scrollTop() o $('html').scrollTop() restituirà sempre 0.

Forse è possibile utilizzare

$(document).animate({scrollTop: 0}, 0); 
$('html,body').animate({scrollTop: 0}, 0); 

per farlo funzionare su tutti i browser.

1

Set:

# FF、IE8   
document.documentElement.scrollTop = 100; 

# chrome 
document.body.scrollTop = 100; 

Get:

scrollTop = document.documentElement.scrollTop + document.body.scrollTop;