2010-01-07 62 views
32

如何檢測在瀏覽器窗口中滾動的像素數量? 我需要這個來動態調整100%高度的高度div ...檢測從頂部jquery滾動的距離

我正在使用jQuery。

編輯:我不能只使用scrollTop(),因爲我正在使用溢出設置爲auto的100%高度div。 Firefox不檢測瀏覽器滾動由於這一點,唯一的滾動是一個100%×100%的div ...

回答

7

還好吧,大家好,我發現:

$("div#container").scroll(function() { 
     var screenheight = parseInt($(document).height()); 
     var scrolledpx = parseInt($("div#container").scrollTop());  
     var sum = screenheight+scrolledpx; 
     console.log($("div#container").scrollTop()); 
     console.log("screen: " + screenheight); 
     console.log("sum=" + sum); 
     $("div.content").height(sum); 
}) 
71

使用$(document).scrollTop()

$(document).scroll(function() { 
    console.log($(document).scrollTop()); 
}) 
+0

感謝您的幫助,但我沒有在我的控制檯中得到什麼。我使用的是Firefox 3.5.7。似乎它沒有響應的事件 – Jorre 2010-01-07 16:24:08

+1

safari和鉻它觸發的事件,而不是在Firefox或IE – Jorre 2010-01-07 16:38:50

+0

工作正常在這裏:http://jsbin.com/icawo3 – David 2010-01-07 16:41:45

3

你可以使用scrollTop()來找出你走過的頁面有多遠。

$(window).scroll(function() { 
    console.log($(window).scrollTop()); 
    if ($(window).scrollTop() > 200) { 
    $('#div').stop().animate({ 
     'marginTop': $(window).scrollTop() + 'px', 
     'marginLeft': $(window).scrollLeft() + 'px' 
    }, 'slow'); 
    } 
});