滚动到页面javascript的某个高度

时间:2014-07-29 17:07:48

标签: javascript

我有一个非常简单的单行代码,用于检查用户是否已滚动到页面底部,我想稍微更改一下&查找用户是否已到达页面的页脚。页脚高度有点350px。

这是我的代码:

if($(window).scrollTop() + $(window).height() == ($(document).height())
{
...
}

这就像魅力(在滚动事件中加载更多内容),但如果我喜欢这样:

if($(window).scrollTop() + $(window).height() == ($(document).height()-350))

这不起作用。当我尝试alert('$(document).height()-350')时。它提供了一个完美的警报。

有谁可以说我做错了什么?

3 个答案:

答案 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");
}