我正在使用jquery ajax实现删除功能。我可以删除记录并删除代表该记录的tr
。现在我想为我的代码添加一点风味,所以我试着让下面的tr
向上滑动,用这样的jquery替换已删除的tr
的位置:
function () {
tr.fadeOut('slow', function () {
tr.remove();
}).promise().done(function () {
tr.nextAll("tr").slideUp();
});
但是slideUp
动画不起作用,删除后的所有tr
都会消失,然后重新出现以替换已删除的动画的位置,请看看我告诉我的是什么我做错了。这是完整的jquery:
$(document).ready(function () {
$("body").on("click", ".waiting", function (event) {
event.preventDefault();
var tr = $(this).closest("tr");
$.ajax({
type: "POST",
beforSend: function () { $("#waiting").show(); },
url: $(this).attr("href"),
data: { "id": $(this).attr("id") },
success: function () {
tr.fadeOut('slow', function () {
tr.remove();
}).promise().done(function () {
tr.nextAll("tr").slideUp();
});
},
complete: function () { $("#waiting").hide(); }
});
});
})
答案 0 :(得分:1)
您要删除的元素会淡出然后消失会导致跳跃效果,您应该在删除的元素上使用slideUp
。它会向上滑动,消失,并将所有内容带到它下面。
tr.slideUp('slow').remove();