这是我的表格行我的要求是在4秒后第一次显示黄色行的背景颜色,颜色变淡 我正在使用以下代码
$('#lock').prepend('<tr><td>hello</td><td>cool</td><td>dad</td></tr>');
&#13;
我正在使用以下代码
$("#lock tr").css('background-color','yellow').delay(4000).css('background-color','fade');
问题延迟无法正常工作
答案 0 :(得分:5)
让CSS渲染背景颜色过渡(比JS更快):
#lock {
background-color: yellow;
transition: background-color 0.3s;
}
#lock.red {
background-color: red;
}
现在加载DOM后,在关闭<body>
标记之前添加以下JavaScript:
// JS solution
setTimeout(function() {
var element = document.getElementById('lock');
element.classList.add('red');
}, 4000);
// jQuery solution
$('#lock').delay(4000).addClass('red'); // no good, check the edit.
修改强>
如果您想知道代码无效的原因,请查看this answer。 delay
函数似乎只对队列中的项目(如动画)起作用。对于其他任何事情,请使用我的第一个JS解决方案中给出的常规旧计时器:
var $table = $("#lock");
$table.css("background-color", "yellow");
setTimeout(function () {
$table.css("background-color", "red");
}, 4000);
如果你还想要淡入淡出过渡,你仍然需要使用一些CSS。
祝你好运。