如何在滚动到达某一点时使用jquery显示内容?

时间:2013-07-08 21:36:35

标签: javascript jquery infinite-scroll

我一直在使用JQuery,但从未在这样的事情上工作过。

我想做的是:

当用户向下滚动到页面的页脚时,我想使用JQuery开始显示在页脚下加载的10段内容。我怎么能用JQuery做到这一点?任何现有的插件或提示?

我查了无限滚动和类似的东西,但我不确定如何在用户超过页脚时触发内容的显示。

2 个答案:

答案 0 :(得分:3)

将侦听器绑定到滚动事件并监视滚动位置。一旦通过某个值,就显示内容。

您可以使用.scrollTop()获取滚动位置,并将其与.offset()的固定值或页脚位置进行比较。不要忘记添加窗口高度,以便在页脚可见时立即触发。

例如:

$(document).scroll(function() {
    var value = $("#footer").offset().top,
        position = $(document).scrollTop() + $(window).height();
    if (position >= value) {
        $(".content").show();
    }
});

为确保在不需要滚动的情况下显示页脚的情况下显示内容,您可以在准备就绪时触发滚动事件:

$(document).ready(function() {
    $(document).scroll();
});

答案 1 :(得分:1)

实际上正确的代码需要显示段落,因为页脚是可见的,所以你必须添加窗口高度参数:

var target = $("#footer").offset().top-$(window).height();

这样做:

var target = $("#footer").offset().top-$(window).height();
$(document).scroll(function() {
    if ($(window).scrollTop() >= target) {
        $(".content").show();
    }
});

如果你没有设置窗口高度,页脚必须到达窗口的顶部,我认为这不是你想要的。

您可以在此处试用:JSFiddle