2012-05-09 12 views
10

Các công trình sau đây trong Chrome/FF vv ...jQuery động scrollTop không làm việc trong IE 7

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

Tuy nhiên, trong IE 7, nó không làm gì cả.
Có cách nào khác không?

+0

@ Scorpion-Prince jQuery động hoàn toàn hoạt động trên scrollTop. Tôi đã sử dụng nó trong sản xuất nhiều lần, qua trình duyệt. – benastan

+0

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

Trả lời

21

EDIT Như đã chỉ ra bởi nhiều người, nó là tốt hơn để sử dụng:

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

Tôi không nghĩ rằng nó hoạt động trong tất cả các trình duyệt. ''body, html'' là một bộ chọn tốt hơn (xem câu trả lời khác). –

+1

Điều này không hoạt động tốt trong tất cả các trình duyệt. Thay vì sử dụng câu trả lời khác. – Richard

+0

Yup, tính năng này không hoạt động trong IE 11 & FF – Shiljo

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

'$ ('body, html')' thực sự hoạt động! – Rockallite

4

trong IE8, tôi sử dụng $(document).scrollTop() để có được tài sản scrollTop, $('body').scrollTop() hoặc $('html').scrollTop() sẽ luôn luôn trả 0.

lẽ bạn có thể sử dụng

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

để làm cho nó hoạt động trên tất cả các trình duyệt.

1

Set:

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

# chrome 
document.body.scrollTop = 100; 

Nhận:

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