滚动时重新加载新内容

时间:2010-08-27 12:29:13

标签: php jquery ajax

我使用以下jQuery,它将UL中最后一项的id设置为'last_item'。

function oldest() {
 j('ul li:last-child').addClass( 'last_item' );
 oldestName = j('.last_item').attr('id');
 alert('last ID is:'+ oldestName +'.');
}

j(window).scroll(function(){
    if  (j(window).scrollTop() == j(document).height() - j(window).height()){
            j.ajax({
                url: "older.php?oldest="+oldestName+"",
                cache: false,
                success: function(html){
                    j(".older").html(html);
                    oldest();
                }
            })
    }
}); 

oldest(); //Call function on page load

$('.button2').click(function() {
    j('.older ul > *').clone().hide().appendTo('.tweets ul').slideDown();
    oldest();
});

调用滚动old.php时包含:

$oldest = $_GET['oldest'];

$getolder = mysql_query(" SELECT * FROM table where date < $oldest ORDER BY date DESC LIMIT 20");

然而,目前发生的事情是数据库中的记录会被拉回,存储在隐藏的DIV中。然后我使用jQuery将这些记录添加到列表的末尾。

然而,下次我滚动到页面底部并按下按钮时,相同的记录会添加到列表中。

能帮助我找出原因吗?

基本上,似乎最老的并没有使用新的最后一个UL项目日期进行更新。

1 个答案:

答案 0 :(得分:0)

在将其添加到新的最后一项之前,您需要从列表项中删除原始的“last_item”类...

 j('ul li').removeClass( 'last_item' );