检测用户是否已滚动到div的底部

时间:2012-04-02 21:07:35

标签: javascript jquery

  

可能重复:
  Detecting when user scrolls to bottom of div with jQuery

我有一个页面,我有一个标题,左侧菜单,内容,右侧菜单和页脚。在我的内容中,我有一个div(比如id-foo),我有一些数据。当用户滚动页面并到达div的底部时,我必须进行ajax调用并带来更多数据来填充那里的内容。如何检测用户已滚动(页面滚动,div中没有​​滚动)到div(foo)的底部。

1 个答案:

答案 0 :(得分:3)

根据当前屏幕尺寸和div位置,您可能需要自己做一些数学运算。代码看起来大致如此(未经测试):

// Cache these values. If the div size changes, divBottom will need to be recalculated.
var $div = $("#yourdiv");
var divBottom = $div.offset().top + parseInt($div.height());

// Bind a scroll event for the whole page
$("body").bind("scroll", function(e)
{
    // Calculate how far down the user has scrolled
    var screenBottom = $(this).scrollTop() + parseInt($(window).height());

    // Test if the div has been revealed
    if(screenBottom > divBottom)
    {
        // do something
    }
});