我已经写一些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。没有更多的元素,没有更多的动画。鉴于所有slideUps的应该采取相同的时间量,你也许可以逃脱从$(this).parent().remove()改变完成回调$(this).closest('tr').remove()

其他提示

我写了一个jQuery插件,可以让你做到这一点。您可以添加和删除行,它不需要用一个div或者类似的东西来包装一下你的数据。瞧瞧吧的http:// www.fletchzone.com/post/jQuery-Unobtrusively-Animated-Add-and-Remove-Table-Rows.aspx

最佳,

陈伟伟

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top