2012-01-03 37 views
17

Tôi đang sử dụng mã này:jquery chức năng Animate scrollTop không hoạt động trên internet khám phá

$('#goto_introduction_divcontent').click(function(){  
    var targetOffset = $('#introduction_div').offset().top;  
    $('html, body').animate({scrollTop:targetOffset}, 'slow');  
    if ($.browser.msie){  
     document.documentElement.scrollTop = targetOffset; 
    } 
}); 

Nhưng điều này không làm việc trong Internet Explorer. My jsFiddle là here.

+0

Vui lòng chỉ định phiên bản trình duyệt khi bạn cho rằng đó là sự cố cụ thể của trình duyệt. btw Nó hoạt động tốt trên FF3.6 và IE8. –

+0

trong chrome và firebox làm việc tốt, nhưng trong IE7 và IE9 không hoạt động –

Trả lời

45

này làm việc cho tôi trong IE8 +:

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

lẽ IF tuyên bố của bạn là ném vật tắt?

+4

Trình tiết kiệm cuộc sống! Tôi đã thử mọi kết hợp duy nhất của window.parent, window.parent.document, window.parent.document. $ ("Body") v.v. nhưng đã không nghĩ để thử html cho đến khi tôi thấy điều này - html hoạt động trong IE, công trình cơ thể trong tất cả các trình duyệt khác chúng tôi hỗ trợ :) – ClarkeyBoy

+0

Tôi có thể chứng thực rằng tôi thấy điều này hoạt động trong nhiều trình duyệt. Tôi lo ngại rằng nó có thể không hiệu quả như nó có thể được và rằng có lẽ có một số cách để kiểm tra hỗ trợ hoạt hình đầu tiên, và chọn thẻ cho phù hợp. Nhưng kể từ khi tôi không có thời gian cho điều đó ngay bây giờ, upvote! Làm việc trong một nhúm! – dudewad

+0

Thêm bộ chọn 'html' đã làm cho tôi. Cảm ơn! –

Các vấn đề liên quan