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()),但效果在行移动后运行。您的回答为我修复了它。