身思乐,人事爱,稳恒不言败!

瀑布流翻页 锁的实现

在用到瀑布流下拉翻页时,js的响应事件:
$(window).scroll(function() { 
    if ($(document).scrollTop() >= $(document).height() - $(window).height()) { 
        //滚动到底部   
        ajax_get(); 
    } 
});
代表当滑动条滑动到底部时的响应事件
但这样会有一个问题,就是有时候可能会触发2次或多次,特别是在网络比较差的时候,会发送多个相同的请求,导致刷出多个相同的数据页面
这里加上一个锁
在js的最前面初始化一个全局变量suo=1
然后在ajax_get();这个方法中
suo=1
function ajax_get(){ 
    if (suo == -1) { 
        return; 
    } 
    suo = -1; 
    $.ajax(){ 
        url: "/index.php?m=Home&c=Group&a=group_Topic_GetPageList", 
        async: true, 
        data: { 
            page: page, 
        }, 
        dataType: 'json', 
        success:function(data){ 
            suo = 1; 
        } 
    } 
}