2012-05-09 16 views
10

następujące prace w Chrome/FF itp ...jQuery animowania scrollTop nie działa w IE 7

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

Jednak w IE 7, to nie robić nic.
Czy jest alternatywa?

+0

@ Scorpion-Prince jQuery animowania absolutnie działa na scrollTop. Używałem go wielokrotnie w produkcji, w przeglądarce krzyżowej. – benastan

+0

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

Odpowiedz

21

EDIT Jak podkreśla wielu, lepiej jest użyć:

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

Nie sądzę, że to działa we wszystkich przeglądarkach. '' body, html'' jest lepszym selektorem (zobacz inną odpowiedź). –

+1

To nie działa dobrze we wszystkich przeglądarkach. Zamiast tego użyj innej odpowiedzi. – Richard

+0

Tak, to nie działa w IE 11 i FF – Shiljo

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

'$ ('body, html')' naprawdę działa! – Rockallite

4

w IE8 używam $(document).scrollTop() uzyskać własność scrollTop, $('body').scrollTop() lub $('html').scrollTop() zawsze zwraca 0.

Być może używać

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

, aby działało we wszystkich przeglądarkach.

1

Set:

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

# chrome 
document.body.scrollTop = 100; 

otrzymujemy:

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