如何修复无限滚动javascript?
我正在尝试使用下面的脚本无限滚动加载数据。初始数据加载正确,但似乎没有检测到滚动。我已尝试将警报添加到调试中,但似乎找不到问题。后端页面p_load.php工作正常。你知道可能是什么问题吗如何修复无限滚动javascript?,javascript,jquery,Javascript,Jquery,我正在尝试使用下面的脚本无限滚动加载数据。初始数据加载正确,但似乎没有检测到滚动。我已尝试将警报添加到调试中,但似乎找不到问题。后端页面p_load.php工作正常。你知道可能是什么问题吗 $(document).ready(function() { var track_load = 0; //total loaded record group(s) var loading = false; //to prevents multipal ajax loads var t
$(document).ready(function() {
var track_load = 0; //total loaded record group(s)
var loading = false; //to prevents multipal ajax loads
var total_groups = 2; //total record group(s)
$('#result').load("p_load.php?t=", {'group_no':track_load}, function() {track_load++;}); //load first group
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height()) {
alert("Detected scrolling"); //not working
if(track_load <= total_groups && loading==false) //there's more data to load
{
loading = true; //prevent further ajax loading
$('.animation_image').show(); //show loading image
//load data from the server using a HTTP POST request
$.post('p_load.php?t=',{'group_no': track_load}, function(data){
$("#result").append(data); //append received data into the element
//hide loading image
$('.animation_image').hide(); //hide loading image once data is received
track_load++; //loaded group increment
loading = false;
}).fail(function(xhr, ajaxOptions, thrownError) { //any errors?
alert(thrownError); //alert with HTTP error
$('.animation_image').hide(); //hide loading image
loading = false;
});
}
}
});
});
$(文档).ready(函数(){
var track_load=0;//加载的记录组总数
var load=false;//防止多路径ajax加载
var total_groups=2;//记录组总数
$(“#result”).load(“p_load.php?t=”,{'group_no':track_load},function(){track_load++});//加载第一组
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()+$(窗口).height()>=$(文档).height()){
警报(“检测到滚动”);//不工作
如果(轨道负载请尝试:
$(document).on('scroll', function () {
if(window.scrollY + window.innerHeight >= document.body.scrollHeight) {
//your code
};
});
您应该使用Intersection Observer API,这就是它的用途
尝试了这两种方法(外部就绪函数和您使用scrollY进行的修改)。运气不好。简单的警告无效。:(您看到窗口右侧的滚动行了吗?可能您的CSS在某处设置了“溢出:隐藏”。请尝试$(文档)。在('scroll',函数()而不是$(窗口)。问题已修复。它应该作为原始版本在ready函数中。只有它应该监视$(文档)。滚动(如您所建议的。请编辑答案以将其标记为已完成。