javascript延迟不起作用

javascript延迟不起作用,javascript,jquery,Javascript,Jquery,这是我的表格行,我的要求是在4秒钟后,第一次以黄色显示行的背景色,颜色变淡 我正在使用以下代码 $('#lock').prepend('hellocoldad')让CSS渲染背景色转换(比JS更快): 现在,加载DOM后,在关闭标记之前添加以下JavaScript: // JS solution setTimeout(function() { var element = document.getElementById('lock'); element.classList.add

这是我的表格行,我的要求是在4秒钟后,第一次以黄色显示行的背景色,颜色变淡 我正在使用以下代码


$('#lock').prepend('hellocoldad')让CSS渲染背景色转换(比JS更快):

现在,加载DOM后,在关闭
标记之前添加以下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.
编辑

如果你想知道为什么你的代码不工作,检查答案。
delay
功能似乎只对队列中的项目(如动画)起作用。对于其他内容,请使用我的第一个JS解决方案中给出的常规计时器:

var $table = $("#lock");
$table.css("background-color", "yellow");

setTimeout(function () {
    $table.css("background-color", "red");
}, 4000);
如果你还想要一个淡入淡出的过渡,你仍然需要使用一些CSS


祝你好运。

你添加了
jquery.min.js
?是的,我使用了jquary。min.JS尝试添加此脚本
您是否在控制台中看到任何JS错误?是的,代码中存在一些缺陷。例如,将背景色设置为“淡入淡出”。还建议使用JS和CSS的组合。
var $table = $("#lock");
$table.css("background-color", "yellow");

setTimeout(function () {
    $table.css("background-color", "red");
}, 4000);