提交我的 Ajax 表单后,我正在使用此代码将新行动态添加到表中
var $var = $('table');
var newRow = "<tr><td> blah </td></tr>"
$var.find('tr:last-child').before(newRow)
现在我希望该行的背景颜色为浅黄色,仅持续 3 秒,然后恢复正常
您可以尝试使用setTimeout
功能:
var $newRow = $("<tr class='light'><td>blah<td></tr>");
$var.find('tr:last-child').before($newRow);
setTimeout(function(){
$('#table tr.light').removeClass('light')
}, 3000)
一个好主意是(没有 jQuery UI来为 BG 颜色设置动画):
td
通过 CSS 默认为所有元素设置自定义颜色tr
默认 CSS为所有元素设置黄色tr
带有隐藏 td
元素的新元素td
元素!css
table tr{
display:block;
background:yellow;
}
table td{
display:block;
background:#eee;
}
jQuery
var $var = $('table');
$('button').click(function(){
var newRow = $("<tr><td> NEW ROW! </td></tr>");
$var.find('tr:last-child').before(newRow);
newRow.find('td').hide().fadeTo(3000,1);
});
添加一个new
具有该样式的类,然后使用delay
andqueue
等待 3 秒,然后new
使用. 删除removeClass
。
JS
var $newRow = "<tr class='new'><td> blah<td></tr>";
$var.find('tr:last-child').before($newRow)
.delay(3000).queue(function(){
$('.new').removeClass('new');
});
CSS
.new {
background-color: yellow;
}
正如您所说,您使用的是 jQueryUI,您可以使用内置的“突出显示”效果,您可以在此处查看它的演示http://jqueryui.com/effect/