首页 > 解决方案 > 如果初始文档小于窗口大小,则自动滚动

问题描述

当用户滚动到页面底部时,我正在使用 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 循环上。(它不加载)

标签: javascriptjqueryhtml

解决方案


推荐阅读