【发布时间】:2009-08-21 23:43:55
【问题描述】:
我在我的文档中使用表格,我希望能够让用户将新项目提交到列表,然后让它“自动”出现在列表顶部(是的,这会更容易使用 DIV,但使用我所拥有的)。
我正在使用 jQuery 和 clone() 创建最新表格行的副本,然后在我更新后使用 fadeIn() 显示新项目并将其添加到列表顶部。因为在内部 jQuery 将元素(假设为 DIV)转换为“块”,所以我还将 css 类更改为“表行”。它工作正常。
完整的代码在这里:
var row = $("tbody tr:first").clone().hide(); // clone and then set display:none
row.children("td[class=td-date]").html("today");
// set some properties
row.children("td[class=td-data]").html("data");
row.children("td[class=td-type]").html("type");
// fadeIn new row at the top of the table.
row.insertBefore("tbody tr:first").stop().fadeIn(2000).css("display","table-row");
问题在于,如果我太快地运行该过程 - 即在 fadeIn 完成之前,“clone()”命令最终也会克隆不透明度。
通过调整上面的第一行,我实际上可以让它在 Firefox 中工作:
var row = $("tbody tr:first").clone().css("opacity","1").hide();
我现在担心的是,我不确定是否可以有效地完成这些工作,和/或“不透明度”是否可以安全地依赖于跨浏览器。
以前有没有人做过类似的事情,并且可以提供任何关于更可靠方法的指示?
【问题讨论】:
标签: javascript jquery clone effects