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