2

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

我实际上使用 php 和 mysql 数据库来存储分页数据我正在使用类似于此 链接的东西。

4

2 回答 2

0

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

jQuery 让它变得又好又简单。这假设您有一个名为 ajax/delete-article.php 的 php 文件,该文件将要删除的文章 ID 作为参数,并将页面上最后一篇文章的文章 ID 作为参数,并返回 HTML下一篇文章。它还假设您的所有文章都有“article”类,ID 为“article-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 错误。

于 2010-11-22T11:26:58.750 回答
0

基本上,当您成功删除一篇文章时,在 SAME 请求中(不要再发一篇,没有必要),您还检索(如果有)最后一页之后的下一篇文章(按 id、发布日期或其他)并返回要附加的 HTML 代码

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

于 2010-11-22T11:05:47.473 回答