删除文章并从下一页拉入第一篇文章

时间:2010-11-22 10:57:24

标签: jquery pagination article

我正在尝试使用分页系统构建博客(每页5篇文章)。 分页本身一切都很好但是在每篇文章旁边我都包含一个“删除”按钮,允许管理员动态删除(jquery)相关文章及其内容。 我现在想要的是当我删除一篇文章时“追加”(没有刷新)下一页的第一篇文章,第二篇当我删除另一篇文章时,然后是第三篇,依此类推。 如果我继续删除文章而不刷新,我希望这可以避免有空白页。

我实际上是使用php和mysql数据库来存储数据 对于paginating我正在使用类似于此的东西 link

2 个答案:

答案 0 :(得分:0)

基本上当你成功删除一篇文章时,在SAME请求中(不要再制作另一篇文章),你也可以在页面的最后一篇(按id,发布日期或其他)之后检索下一篇文章(如果有的话)并返回要附加的HTML代码

要清楚:如果我们假设您正在查看文章16,17,18,19,20,您知道页面中的最后一个元素是20.如果删除第17条,则检索元素21,附加到页面并设置此值21作为页面中的最后一个值(依此类推)

答案 1 :(得分:0)

我最初回复了副本,但认为可能会被删除,所以复制到这里:

jQuery使它变得简单易用。这假设你有一个名为ajax / delete-article.php的php文件,它将文章id作为参数删除,并将页面上最后一篇文章的文章id作为参数,并返回HTML的下一篇文章。它还假设您的所有文章都有“文章”类,而id为“文章-230”,其中230是ID编号。我相信你可以根据自己的HTML结构进行调整。

$('.article-delete').click(function (event) {
  $(this).closest('.article').remove(); // possibly use a more fancy-looking hide(), and remove on complete?

  var lastArticleId = $('.article').last().attr('id').replace('article-','');
  var thisArticleId = $(this).attr('id').replace('article-','');
  $.get('ajax/next-article.php?last-article=' + lastArticleId + '&article-to-delete=' + thisArticleId ,function (data) {
    $('#article-list').append(data);
  });
  event.preventDefault();
});

请注意,这只是一个粗略的例子。将需要一些改进的稳健性。它也没有经过测试,所以它可能会在任何地方引发JS错误。