0

次のコードに少し問題があります。正常に動作していますが、唯一の問題は、データがロードされていないときに誰かが数回下にスクロールすると、同じデータを 2 回ロードしたり、スキップしたりするなどの問題が発生することです。いくつかの部分など..これの速度を制御するために、どんな助けでも大歓迎です。

var num = 0;
$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){
        num = num + 20;
            $.get('load_data.php?load=' + num, function(data){ 
                $('#result').append(data);
        }); 
    }
});
4

2 に答える 2

1

これで解決しました。

<script type='text/javascript'>
var num = 0;
var a = 1;
$(window).scroll(function(){ 
if ($(window).scrollTop() == $(document).height() - $(window).height()){

    if (a == 1) {
        a = 2;
        num = num + 20;
                $.get('load_data.php?url=<?php echo $url; ?>&load=' + num, function(data){ 
                        $('#result').append(data);
                         flag = true;
                         a = 1;
                });
    }

}
});
</script>
于 2012-12-31T07:05:58.963 に答える
1

考えられる解決策は、ウェイポイントにフラグを設定することです。

var flag = false;
var num = 0;
$(window).scroll(function(){ 
    if ($(window).scrollTop() == $(document).height() - $(window).height()){      
        if(!flag){
            num += 20;
            $.get('load_data.php?load=' + num, function(data){ 
                 $('#result').html(data);
                 flag = true;
            });
        }
    }
});

これにより、ロードされたデータが一度だけ起動されます。これは、ページ上の特定のポイントのウェイポイントで発生する可能性があります。

于 2012-12-31T06:34:17.720 に答える