我正在尝试建立一个带有分页系统的博客(例如每页 5 篇文章)。分页本身一切都很好,但在每篇文章旁边我都包含一个“删除”按钮,允许管理员动态删除(jquery)相关文章及其内容。我现在想要的是当我删除一篇文章时“追加”(不刷新)下一页的第一篇文章,当我删除另一篇文章时添加第二篇,然后是第三篇,依此类推。如果我继续删除文章而不刷新,我希望这避免出现空白页。
我实际上使用 php 和 mysql 数据库来存储分页数据我正在使用类似于此 链接的东西。
我正在尝试建立一个带有分页系统的博客(例如每页 5 篇文章)。分页本身一切都很好,但在每篇文章旁边我都包含一个“删除”按钮,允许管理员动态删除(jquery)相关文章及其内容。我现在想要的是当我删除一篇文章时“追加”(不刷新)下一页的第一篇文章,当我删除另一篇文章时添加第二篇,然后是第三篇,依此类推。如果我继续删除文章而不刷新,我希望这避免出现空白页。
我实际上使用 php 和 mysql 数据库来存储分页数据我正在使用类似于此 链接的东西。
我最初在副本上回答,但认为可能会被删除,所以在这里复制:
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 错误。
基本上,当您成功删除一篇文章时,在 SAME 请求中(不要再发一篇,没有必要),您还检索(如果有)最后一页之后的下一篇文章(按 id、发布日期或其他)并返回要附加的 HTML 代码
要清楚:如果我们假设您正在查看文章 16、17、18、19、20,您知道页面中的最后一个元素是 20。如果您删除文章 17,那么您检索元素 21,附加到页面并设置此值 21作为页面中的最后一个值(等等)