滚动时自动加载

时间:2012-07-03 22:54:22

标签: javascript jquery scroll

我有这个脚本在用户向下滚动时进行新的ajax调用。但是如何让它做一次。因为如果用户滚动到快速,他们 n ajax调用具有相同的数据。

 $(window).scroll(function(){

            whenTo=$(window).scrollTop();

        if(whenTo>=($(document).height()-($(window).height())-600)){
// make ajax call
}


});

2 个答案:

答案 0 :(得分:0)

如何添加一个布尔值来检查它是否已经完成?

例如:

var hasLoaded = false;
$(window).scroll(function(){

        whenTo=$(window).scrollTop();

        if(!hasLoaded && (whenTo>=($(document).height()-($(window).height())-600))){
            hasLoaded = true;
            // make ajax call
        }
});

使用此方法意味着只要您愿意在需要时再次调用ajax,就可以将变量更改为false。

答案 1 :(得分:0)

我使用的是Underscore.js,_.throttle()_.debounce() - 假设您要重复调用该函数,或_.once()只使用一次。