我使用以下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项目日期进行更新。
答案 0 :(得分:0)
在将其添加到新的最后一项之前,您需要从列表项中删除原始的“last_item”类...
j('ul li').removeClass( 'last_item' );