繁体   English   中英

滚动速度一次同时滚动两次时加载更多

[英]load more when scroll work two time at once when scroll in speed

嗨,我正在使用ajax滚动分页,当我滚动页面两次使其工作速度滚动并且两次滚动其工作两次时,它发送相同的id两次,并且对结果有效,我该如何解决这个问题? 这是我的剧本

$(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();
        }
    }); 

});

一种解决方案是使用一个标志来检查是否已经在进行另一个滚动操作,例如

$(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();
        }
    });

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM