题
我已经写一些jQuery代码从表中删除行当使用“效果基本show”的动画。为了使动画显得光滑,我包每个TD的内容与DIV标签的行中,并号召的DIV的效果基本show功能,动画完成后取出实际TDS。对于该代码如下所示:
$("tr[id$=" + rowID + "]").children("td").each(function() {
$(this).children("div").slideUp(function() {
$(this).parent().remove();
});
});
到目前为止,一切都很好。然而,我注意到,这个代码不会删除实际TR中,只有它的内容,所以我增加以下行以除去TR:
$("tr[id$=" + rowID + "]").remove();
的问题是,后我添加上面的行,动画退出工作。换句话说,该行根本没有消失漂亮的滑动效果。有谁知道这是为什么和如何解决呢?
解决方案
由于您删除包含所有的动画元素的tr
。没有更多的元素,没有更多的动画。鉴于所有slideUp
s的应该采取相同的时间量,你也许可以逃脱从$(this).parent().remove()
改变完成回调$(this).closest('tr').remove()
。
其他提示
我写了一个jQuery插件,可以让你做到这一点。您可以添加和删除行,它不需要用一个div或者类似的东西来包装一下你的数据。瞧瞧吧的http:// www.fletchzone.com/post/jQuery-Unobtrusively-Animated-Add-and-Remove-Table-Rows.aspx
最佳,
陈伟伟
不隶属于 StackOverflow