Jquery 淡出行和淡出为最后一行

Jquery 淡出行和淡出为最后一行,jquery,fadein,Jquery,Fadein,我正在尝试淡出一行并将其作为表中的最后一行,但无法使淡出生效 目前我有: function Test(control) { var row = $(control).parents('tr'); row.find("td").fadeOut('slow', function () { var lastRow = $("#table1 tr:last"); lastRow.after(

我正在尝试淡出一行并将其作为表中的最后一行,但无法使淡出生效

目前我有:

function Test(control) {
            var row = $(control).parents('tr');

            row.find("td").fadeOut('slow', function () {
                var lastRow = $("#table1 tr:last");
                lastRow.after(row).fadeIn('slow');
            });
        }
即使我禁用fadeIn lastRow.after(row)似乎也不起作用。

返回
lastRow
,而不是您希望插入的行,因此请这样使用:

function Test(control) {
  var row = $(control).closest('tr');
  row.fadeOut('slow', function () {
    row.insertAfter("#table1 tr:last").fadeIn('slow');
  });
}
还要注意,我们正在淡入
我们正在淡入,而不是单个
元素(如果隐藏了子元素,则淡入父元素没有帮助)。也可以看看,而不是…它更便宜/更精确


上述内容旨在显示更正的版本,您还可以将其精简为:

function Test(control) {
  $(control).closest('tr').fadeOut('slow', function () {
    $(this).insertAfter("#table1 tr:last").fadeIn('slow');
  });
}
这个怎么样:

    $('tr').fadeOut(500, function(){
        $(this).appendTo('table').fadeIn(500);
    });
您也可以使用

$(this).fadeIn('slow').insertAfter("#table1 tr:last")

您想淡出表格的所有行,然后淡出表格的最后一行回到视图中吗?谢谢您的快速回复!你知道为什么IE8只需插入它而不会淡入淡出吗?它在其他浏览器中工作得很好。@zLan-IE中淡出表格元素很棘手,因为
实际上不是一个显示的元素,它至少应该有延迟,你没有看到吗?是的,有延迟,就像它应该淡出一样。这不是一个简单的解决办法吗?谢谢!使用了更改(例如,淡出().insertafter().fadein()),但效果在行移动后运行。您的回答为我修复了它。