我想在我正在唱歌的 div 上显示一些活动以显示一些最近的信息,我通过根据通知类型为 div 赋予颜色来做到这一点。
我正在这样做
$("#ru").addClass("brc").delay(500).removeClass("brc");
这是小提琴http://jsfiddle.net/vCDAh/1/
为什么这不起作用?
我想在我正在唱歌的 div 上显示一些活动以显示一些最近的信息,我通过根据通知类型为 div 赋予颜色来做到这一点。
我正在这样做
$("#ru").addClass("brc").delay(500).removeClass("brc");
这是小提琴http://jsfiddle.net/vCDAh/1/
为什么这不起作用?
延迟函数仅适用于动画队列(除非您传递一个作为第二个参数管理的队列)。
在这里你必须使用setTimeout
:
$("#ru").addClass("brc");
setTimeout(function() { $("#ru").removeClass("brc") }, 500);
From the jQuery API Site http://api.jquery.com/delay/
The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.
In this case, adding classes is not an effect (and does not have a queue at all)
$("#ru").addClass("brc");
setTimeout(function() {
$("#ru").removeClass("brc");
}, 500);