jquery中的延迟代码

jquery中的延迟代码,jquery,delay,addclass,effect,Jquery,Delay,Addclass,Effect,我试图按顺序添加和删除一些类,中间有一个延迟。 我有几个列表项,当点击另一个按钮时,我想依次改变它们的背景色(有点像闪烁效果) 我尝试了以下方法,但显然无效:/ $("#changeclasses").click(function () { $(".listitem1").addClass("yellow").delay(200); $(".listitem1").removeClass("yellow").delay(200); $(".listitem2").ad

我试图按顺序添加和删除一些类,中间有一个延迟。 我有几个列表项,当点击另一个按钮时,我想依次改变它们的背景色(有点像闪烁效果)

我尝试了以下方法,但显然无效:/

$("#changeclasses").click(function () {
    $(".listitem1").addClass("yellow").delay(200);
    $(".listitem1").removeClass("yellow").delay(200);  
    $(".listitem2").addClass("yellow").delay(200);
    $(".listitem2").removeClass("yellow");        
});

任何帮助都会很好!谢谢。

你应该考虑使用<代码> SETTIMEOUT

$("#changeclasses").click(function () {
    $(".listitem1").addClass("yellow");
    setTimeout(function(){ $(".listitem1").removeClass("yellow"); }, 200);
    setTimeout(function(){ $(".listitem2").addClass("yellow") }, 400);
    setTimeout(function(){ $(".listitem2").removeClass("yellow") }, 600);      
});

您是否尝试过将您的操作链接起来,而不是单独的操作,例如:
$(“.listitem1”).addClass(“黄色”).delay(200).removeClass(“黄色”).delay(200)mh。这似乎不起作用。但是“设置超时”的答案很好用。啊。。很抱歉,已经有一段时间没有使用jquery了。我记得有一种类似于我上面所做的“链接”的方法,但显然不是那样的。非常感谢。。只是出于兴趣-为什么settimeout更好?显然是因为它有效吗?:)
delay
可以在一个jquery对象中使用,因此我不认为有任何方法可以省略使用
setTimeout
这里:)此外,
setTimeout
正是jquery的
delay
所做的
$("#changeclasses").click(function () {
    $(".listitem1").addClass("yellow");
    setTimeout(function(){ $(".listitem1").removeClass("yellow"); }, 200);
    setTimeout(function(){ $(".listitem2").addClass("yellow") }, 400);
    setTimeout(function(){ $(".listitem2").removeClass("yellow") }, 600);      
});