0

こんにちは、ajax スクロール ページネーションを使用しています。ページを高速で 2 回スクロールするとチェックされ、2 回同じ ID を 2 回送信すると結果が有効になり、この問題を解決するにはどうすればよいですか? ここに私のスクリプト

$(document).ready(function(){   
    function last_msg_funtion()
    {
       var IDall=$(".box-mainb:last").attr("id");
       var cbid=$(".box-mainp:last").attr("id");
        $('div#last_msg_loaderi').html('<img src="bigLoader.gif">');
         $.get('page.php', {'action':'get','last_msg_id':IDall,'id':cbid}, 
        function(dataz){
            if (dataz != "") {
            $(".box-mainb:last").after(dataz);          
            }
            $('div#last_msg_loaderi').empty();
        });
    };  
    $(window).scroll(function(){
        if  ($(window).scrollTop() == $(document).height() - $(window).height()){
           last_msg_funtion();
        }
    }); 

});
4

1 に答える 1

1

1つの解決策は、フラグを使用して、進行中の別のスクロール操作がすでにあるかどうかを確認することです。

$(document).ready(function () {
    var loading = false;

    function last_msg_funtion() {
        var IDall = $(".box-mainb:last").attr("id");
        var cbid = $(".box-mainp:last").attr("id");
        $('div#last_msg_loaderi').html('<img src="bigLoader.gif">');

        loading = true;
        $.get('page.php', {
            'action': 'get',
                'last_msg_id': IDall,
                'id': cbid
        }, function (dataz) {
            if (dataz != "") {
                $(".box-mainb:last").after(dataz);
            }
            $('div#last_msg_loaderi').empty();
        }).always(function () {
            loading = false;
        });
    };
    $(window).scroll(function () {
        if (loading) {
            return;
        }

        if ($(window).scrollTop() == $(document).height() - $(window).height()) {
            last_msg_funtion();
        }
    });

});
于 2013-11-11T03:32:51.737 に答える