当我的页面第一次滚动到页面的实际高度的20%时,我想发送ajax请求。我试过这个,但这不起作用。
$(window).scroll(function(){
if ($(window).scrollTop() >= ($(document).height() - $(window).height())*0.2){
sendajax();
}
});
请告诉我我做错了什么。我只能在第一次滚动到20%时发送
答案 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();
}
});
这可能对你有所帮助。
感谢