检测用户在看到页脚之前何时滚动到像素

时间:2014-06-25 02:18:14

标签: javascript jquery

我正在尝试检测用户何时在看到页脚的第一个像素之前滚动到该点。

以下是我试图计算页脚之前位置的方法:

footerVisible = $(document).height() - $(window).height() - $('footer').height() - 1;
alert(footerVisible);

我正在取整个文档的高度并减去视口高度和页脚高度。

这会提醒我3695

现在我正在记录滚动位置:

$window.scroll(function(e){
    console.log($window.scrollTop());
}

当一直滚动到文档底部时(即:查看完整的页脚和文档结尾),控制台会指示我位于3211位置。

我的逻辑显然在某处有缺陷......

如何计算用户在看到页脚的第一个像素之前所处的'scrollTop'位置。 任何人都可以在用户看到页脚之前提供一个提醒警告的小提琴吗?

修改 提供小提琴here

1 个答案:

答案 0 :(得分:1)

要查看页脚的第一个像素",滚动位置必须比距页脚高度一个窗口高度少一个像素。

var footerVisible = $(document).height() - $(window).height() - $('footer').height() - 1;

你的滚动功能应该是这样的:

$(window).scroll(function() {
    if( $(window).scrollTop() >= footerVisible ) {
        alert('Footer Visible');
    }
});