向下滚动到底部页面时,为什么此功能会重复数据?

时间:2014-09-14 05:18:02

标签: javascript jquery html css

为什么这个功能在向下滚动到底页时会重复数据?

滚动到底页有时重复数据。

<script type="text/javascript">
  $(document).ready(function(){
     $(window).scroll(function(){       
       var height = $('#demoajax').height();
       var scroll_top = $(this).scrollTop();
           var isload = $('#demoajax').find('.isload').val();
           var page = $('#demoajax').find('.nextpage').val();
           document.getElementById('check').value = page++;  
        if(($(window).scrollTop() + $(window).height() == $(document).height()) && (isload=='true')){    
            $('#loading').show();
            $.ajax({
                url: 'aaa.php',
                type: 'POST',
                data: $('#fid').serialize(),
                cache: false,
                success: function(response){
                   $('#demoajax').find('.nextpage').remove();
                   $('#demoajax').find('.isload').remove();
                   $("#loading").fadeOut("slow");
                   $('#demoajax').append(response);
                    }
                });
    }
    return false;   
    });
}); 
</script>

1 个答案:

答案 0 :(得分:1)

你的意思是有时Ajax会多次调用,在这种情况下你可以忙着标记。默认情况下,busy标志设置为false。这是执行该操作的代码

    var busy    =   false;

    if(($(window).scrollTop() + $(window).height() == $(document).height()) && (isload=='true'))
    {    
        if(busy)
            return; 

        busy = true;
        $('#loading').show();

        $.ajax({
            url: 'aaa.php',
            type: 'POST',
            data: $('#fid').serialize(),
            cache: false,
            success: function(response)
            {
                $('#demoajax').find('.nextpage').remove();
                $('#demoajax').find('.isload').remove();
                $("#loading").fadeOut("slow");
                $('#demoajax').append(response);
            },
            complete: function()
            {
                busy = false;
            }
        });
    }

    return false;   
});

});

我认为这应该可以解决问题。 谢谢。