当用户向下滚动时,我有这个脚本可以进行新的 ajax 调用。但是如何让它做一次。因为如果用户滚动到快速,它们是具有相同数据的n ajax 调用。
$(window).scroll(function(){
whenTo=$(window).scrollTop();
if(whenTo>=($(document).height()-($(window).height())-600)){
// make ajax call
}
});
当用户向下滚动时,我有这个脚本可以进行新的 ajax 调用。但是如何让它做一次。因为如果用户滚动到快速,它们是具有相同数据的n ajax 调用。
$(window).scroll(function(){
whenTo=$(window).scrollTop();
if(whenTo>=($(document).height()-($(window).height())-600)){
// make ajax call
}
});
如何添加一个布尔值来检查它是否已经完成?
例如:
var hasLoaded = false;
$(window).scroll(function(){
whenTo=$(window).scrollTop();
if(!hasLoaded && (whenTo>=($(document).height()-($(window).height())-600))){
hasLoaded = true;
// make ajax call
}
});
使用此方法意味着您可以随时将变量更改为 false,以便在需要时再次调用 ajax。
我会使用 Underscore.js,_.throttle()
或者_.debounce()
– 假设您想重复调用该函数,或者_.once()
只调用一次。