我有一个非常简单的单行代码,用于检查用户是否已滚动到页面底部,我想稍微更改一下&查找用户是否已到达页面的页脚。页脚高度有点350px。
这是我的代码:
if($(window).scrollTop() + $(window).height() == ($(document).height())
{
...
}
这就像魅力(在滚动事件中加载更多内容),但如果我喜欢这样:
if($(window).scrollTop() + $(window).height() == ($(document).height()-350))
这不起作用。当我尝试alert('$(document).height()-350')
时。它提供了一个完美的警报。
有谁可以说我做错了什么?
答案 0 :(得分:5)
你可能一次滚动超过1个像素,只是跳过相等点。使它成为> =它应该工作:
if($(window).scrollTop() + $(window).height() >= ($(document).height()-350))
答案 1 :(得分:2)
尝试
if($(window).scrollTop() + $(window).height() >= $(document).height()-350)
此外,您还需要删除$(文档).height()前面的'
答案 2 :(得分:2)
您希望使用>=
代替==
,否则您必须在滚动中使用像素完美才能触发事件。
试一试。您可以使用页脚元素的.offset().top
来获取相对于文档的Y位置。
var scrollBottom = $(window).scrollTop() + $(window).height();
var footerTop = $('#footer').offset().top; // change selector as needed
if ( scrollBottom >= footerTop ) {
alert("hello footer");
}