Javascript 如果初始文档小于窗口大小,则自动滚动

Javascript 如果初始文档小于窗口大小,则自动滚动,javascript,jquery,html,Javascript,Jquery,Html,当用户滚动到页面底部时,我使用jQuery和javascript从我的服务器动态加载数据: $(window).scroll(function(){ var scrollTop = $(document).scrollTop(); var windowHeight = $(window).height(); var bodyHeight = $(document).height() - windowHeight; var scrollPercentage = (s

当用户滚动到页面底部时,我使用jQuery和javascript从我的服务器动态加载数据:

$(window).scroll(function(){
    var scrollTop = $(document).scrollTop();
    var windowHeight = $(window).height();
    var bodyHeight = $(document).height() - windowHeight;
    var scrollPercentage = (scrollTop / bodyHeight);

    if(scrollPercentage == 1) {
        // Load content
        }
    }
});
唯一的问题是,如果视口的高度足够大,则初始文档高度将小于视口的高度。然后,用户将无法滚动,我的代码也无法工作。处理这个问题的最好方法是什么?我考虑过,如果文档的高度超过了视口的高度,则反复检查javascript,然后继续加载内容,直到它超过了视口的高度:

while ($(document).height() == $(window).height()) {
    if (working == false) {
        working = true;
        getData();
    }
}

这个
working
变量是一个变量,每当我获取数据时,我都会将它设置为true。然后,在ajax回调中,我有一个超时,该超时在1秒内变为false。getData函数从我的服务器获取数据。然而,页面似乎只是停留在这个while循环上。(不加载)

为了您的用户着想,我希望您的内容下方没有页脚,他们需要能够点击“联系人”或其他内容,并且不希望人们能够链接到您的页面,因为初始视图不包含滚动后看到的内容。自动无限滚动不是超级棒的用户体验有很多很好的理由。(让用户决定是否通过按钮或其他方式查看更多内容,并在他们这样做时更新URL,这样他们就可以将其他人引用到他们看到的相同内容,这比UX好得多)我认为自动滚动更适合我的应用程序,因为分页最常用于电子商务网站。另外,如果我决定添加页脚,我总是可以使用粘性页脚。我仍在规划我的应用程序的基本结构,所以我还不知道。请注意,分页和“显示更多结果”之间有区别,前者在同一页面上加载更多数据,但在URL中添加一个小标记,以便应用程序知道哪些数据是如何显示的。