2013-07-21 21 views
24

kịch bản này:jQuery scrolltop firefox không làm việc

function onscroll(){ 
    document.getElementById("divs").style.top=""+$('body').scrollTop()+"px"; 
} 

Fiddle: http://jsfiddle.net/Hed2J/1/

Không hoạt động trên phiên bản mới nhất Firefox!

Tôi đang làm gì sai? :) Cảm ơn sự giúp đỡ!

Edit:Sửa với JSFiddle và kịch bản đầy đủ :) như gắn liền với một sự kiện OnScroll

+0

Không có gì sai với mã bạn đã hiển thị. Vui lòng đăng thêm mã của bạn - câu hỏi không nên phụ thuộc vào tài nguyên bên ngoài. Ngoài ra, "không hoạt động" là khá mơ hồ –

+1

Nhưng nó "làm việc" trong các trình duyệt khác/phiên bản trước của FF? – Teemu

+0

Xin lỗi, nó hoạt động trong Chrome, và đây là một JSfiddle để biết thêm chi tiết: D http://jsfiddle.net/Hed2J/ – seanlevan

Trả lời

45

Hãy thử fiddle này, nó được làm việc trong chrome, ie và phiên bản mới nhất của mozilla: http://jsfiddle.net/Hed2J/3/

Tôi thay thế $('body').scrollTop() bằng $(window).scrollTop().

+0

Woah, cảm ơn dood. Tôi nghĩ tôi đã thử nó - nhưng tôi đoán là không! Cảm ơn một đống ... Không phải là nó vô lý như thế nào những điều dễ nhất hóa ra khó khăn nhất để tìm ra? – seanlevan

+0

Có bạn đã đúng. Tôi nghĩ điều tương tự. –

+0

Làm việc cho tôi Cảm ơn bạn @lucas Willems –

35

Một chút lạc đề, nhưng nếu bạn muốn để animate sử dụng scrolltop, bạn phải làm

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

Lưu ý rằng chúng tôi nhắm mục tiêu cả htmlbodyhtml sẽ làm cho cuộn trong Firefox hoạt động và body cho các trình duyệt khác .

+6

'$ ('html, body')' selector hoạt động tốt hơn '$ (cửa sổ)' ở trên vì sau này không hỗ trợ phương thức 'animate' –

+0

Đây là câu trả lời hàng đầu mà tôi nghĩ! Làm việc tốt năm 2017 :) –