Javascript 在维护addClass时删除表TR
好的,我有一张桌子TR,当你按下按钮时,它会被移除。我正在使用animate.css,希望在ajax请求完成后添加一个类。这会将该行滑出,但我还需要删除该行 我的javascript如下所示:Javascript 在维护addClass时删除表TR,javascript,jquery,html,css,Javascript,Jquery,Html,Css,好的,我有一张桌子TR,当你按下按钮时,它会被移除。我正在使用animate.css,希望在ajax请求完成后添加一个类。这会将该行滑出,但我还需要删除该行 我的javascript如下所示: $(".remove").click(function(){ var tr = $(this).closest('tr'); var id = $(this).closest('tr').find('.id').html(); var dataString = 'id='+id;
$(".remove").click(function(){
var tr = $(this).closest('tr');
var id = $(this).closest('tr').find('.id').html();
var dataString = 'id='+id;
$.ajax({
type: "POST",
url: "/admin/deleteEvent/",
data: dataString,
success: function() {
$(tr).addClass('animated bounceOutLeft');
$(tr).remove();
}
});
});
我关注的部分是:
success: function() {
$(tr).addClass('animated bounceOutLeft');
$(tr).remove();
}
现在,表中的行消失了,这就像跳过addclass部分来滑出行一样。如何使add类与remove类同时发生?我认为没有回调可以用来知道addclass何时完成。您可能希望尝试使用setTimeout在一小段时间间隔后触发remove 大概是这样的:
$(tr).addClass('animated bounceOutLeft');
window.setTimeout(function(){
$(tr).remove();
},500);
这是一个没有所有ajax内容的工作小提琴
它并不是跳过addClass,而是快速完成,然后立即删除它。您可以尝试添加暂停:setTimeoutfunction{$tr.remove;},3000;或者使用jQuery方法更平滑地转换滑出,这样做了。请输入答案,这样我就可以接受了。更好的是$tr.addClass'animated bounceOutLeft'。delay3000.remove@詹姆同意,这样更好。我已经忘记了延迟。在这种情况下,延迟并不像预期的那样起作用。检查下面使用delay和使用settimeout的文档,delay对于在排队的jquery效果之间添加延迟很有用,但不能替代settimeout。