fadeOut row和fadeIn作为最后一行

时间:2010-12-06 17:41:19

标签: jquery fadein

我正在尝试淡出一行并将fadeIn作为表格中的最后一行,但我无法让fadeIn工作。

目前我有这个:

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)似乎也没有工作。

3 个答案:

答案 0 :(得分:1)

.after()会返回lastRow,而不是您想要的后面的行,因此请使用.insertAfter(),如下所示:

function Test(control) {
  var row = $(control).closest('tr');
  row.fadeOut('slow', function () {
    row.insertAfter("#table1 tr:last").fadeIn('slow');
  });
}

另请注意,我们正在淡化<tr>我们正在逐渐淡入,而不是单个<td>元素(如果孩子被隐藏,则让父母退去并没有帮助)。另请查看.closest()而不是.parents() ...它更便宜/更精确。


以上内容旨在显示更正后的版本,您还可以将其缩小为:

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

答案 1 :(得分:0)

这个怎么样:

    $('tr').fadeOut(500, function(){
        $(this).appendTo('table').fadeIn(500);
    });

Try it

答案 2 :(得分:0)

您也可以使用

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