在页面加载时,从数据库中选择5个项目.当用户向下滚动时,会加载另外5个帖子等.
为了防止在按“新”排序时出现重复的帖子,我将页面加载时间放在一个隐藏的输入中以便在JavaScript中使用:
<input id="loadTime" type="hidden" value="<?php echo time(); ?>">
然后在滚动时获取更多帖子时我只选择之前的新帖子以防止重复发帖.
WHERE s.date< :加载时 但是,我的问题是按Hot或Top排序时,因为它不使用相同的逻辑. 是否可以检测页面上的两个元素是否具有相同的ID?因为当重复的帖子附加到页面时,它将具有与其上已有的相同的ID.某种$(window).scroll()有一个函数可以在之后删除重复的ID,以便用户看不到重复的帖子?
最佳答案 我能够解决它:
在我添加新帖子后的成功函数中,我遍历页面上的所有ID(从此answer中取出,然后删除具有该id的最后一个元素.
$('[id]').each(function(){
var ids = $('[id="'+this.id+'"]');
if (ids.length>1 && ids[0]==this){
$("#"+this.id).last().remove();
}
});