在滚动上发送ajax请求

时间:2015-10-09 06:11:26

标签: jquery ajax

当我的页面第一次滚动到页面的实际高度的20%时,我想发送ajax请求。我试过这个,但这不起作用。

$(window).scroll(function(){
    if ($(window).scrollTop() >= ($(document).height() - $(window).height())*0.2){
        sendajax();
    }
});

请告诉我我做错了什么。我只能在第一次滚动到20%时发送

1 个答案:

答案 0 :(得分:2)

问题是您在sendajax()上呼叫$(window).scroll(function()

因此,每次滚动页面时,它都会检查该块中的条件。在20%之后,您的条件if ($(window).scrollTop() >= ($(document).height() - $(window).height())*0.2)始终为真,因此每次滚动页面时都会调用sendajax()(在20%之后)。

可能的解决方案是你可以在条件块中设置标志,如

var isAjaxCalled= false; 
$(window).scroll(function(){
if (($(window).scrollTop() >= ($(document).height() - $(window).height())*0.2) && !isAjaxCalled){
isAjaxCalled= true; 
    sendajax();
}
});

这可能对你有所帮助。

感谢