Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery中的滚动函数调用函数一次?_Javascript_Jquery_Function_Scroll_Jquery Events - Fatal编程技术网

Javascript 如何使用jQuery中的滚动函数调用函数一次?

Javascript 如何使用jQuery中的滚动函数调用函数一次?,javascript,jquery,function,scroll,jquery-events,Javascript,Jquery,Function,Scroll,Jquery Events,我有.viewPort区域,其中包含带有滚动条的大型元素 并创建一些类似于流动代码的函数: jQuery: $('.part').each(function(){ if( $(this).is(':in-viewport') ){ var partID = $(this).attr('id'); if($('.part #content-id-'+(partID)+').length < 1) { partLoader(par

我有
.viewPort
区域,其中包含带有滚动条的大型元素

并创建一些类似于流动代码的函数:

jQuery:

$('.part').each(function(){
    if( $(this).is(':in-viewport') ){
        var partID = $(this).attr('id');
        if($('.part #content-id-'+(partID)+').length < 1) {
            partLoader(partID);
        }                       
    }
});

function partLoader(id) {
    // do some ajax actions
    //$.ajax({....});
    console.log('done');
}
$('.part')。每个(函数(){
if($(this).is(“:在视口中”){
var partID=$(this.attr('id');
if($('.part#content id-'+(partID)+').length<1){
零件加载器(partID);
}                       
}
});
函数部件加载器(id){
//做一些ajax操作
//$.ajax({…});
console.log('done');
}
当我滚动时,我在console.log中完成了很多
,浏览器崩溃了

我知道这是因为由于scroll事件向服务器发送了太多的
partLoader()

所以。。。如何使用scroll调用
partLoader
一次

  • 考虑不做
    $('.part')。each()
    ,而是做
    $('.part')。last()
    (这是否有效取决于你的网站结构,所以我不能确定。)
  • 更节省地使用
    .part
    ,因此它生成的请求更少
  • 使用更好的if语句过滤掉更多不需要更新的
    .part
    元素
  • 使用
    我不认为4是必要的,因为它看起来像是一个关于如何调用AJAX的结构性问题(从每个
    .part
    元素,而不是那些需要它的元素-但是如果不了解更多的结构,我不能提供更多的建议),但是这会限制AJAX调用的数量。

    您正在为每个
    调用函数。我认为发生的事情有很多
    。part
    元素都满足条件。有没有一种方法可以限制哪些人发送AJAX调用?我如何限制AJAX。。。?!