JQuery和PHP Infinite Scrolling帮助

时间:2011-05-24 15:49:24

标签: php jquery infinite-scroll

我的无限滚动问题。当我向下滚动时,它会加载下一个项目,但它会继续发送这些项目。我一直在使用这个jquery给它一个唯一的id,因为我用一个算法用mysql命令了这些项目:

$("#image-list li").each(function(index) {
    $(this).attr('id', index);
});

并且为了从外部php文件标记新给定的项目,我也必须在文件中使用此代码。

要发送有关所给项目的信息,我一直在使用这个jquery:

function last_db_item_function() 
 { 

    var ID=$(".db-item:last").attr("id");
    $('div#last-db-item-loader').html('<img src="loading.gif" height="30px" />');
    $.post("index.php?action=get&last_db_item="+ID,

    function(data){
        if (data != "") {
        $(".db-item:last").after(data);         
        }
        $('div#last-db-item-loader').empty();
    });
 };  

 $(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
       last_db_item_function();
    }
 }); 

但问题是它似乎不起作用。我的意思是它不会从新解析的php文件中收集最后一个项目ID。为了解析php,我一直这样做:

$last_db_item = $_GET['last_db_item'];
$action = $_GET['action'];      

if($action != "get")
{
 .... Code Here....
}else{
 include ('secondimages.php');

}

所以我的问题是,为什么这似乎会永远持续下去?

1 个答案:

答案 0 :(得分:0)

当您将新元素附加到列表时,您似乎永远不会为新元素分配新ID。在添加每个新元素后,您需要调用第一个片段,或者在添加它时需要将类似的代码应用于该元素(除非它在php中返回,此时我们需要知道更多关于你要回来的事情)