0

我想在我正在唱歌的 div 上显示一些活动以显示一些最近的信息,我通过根据通知类型为 div 赋予颜色来做到这一点。

我正在这样做

$("#ru").addClass("brc").delay(500).removeClass("brc");

这是小提琴http://jsfiddle.net/vCDAh/1/

为什么这不起作用?

4

2 回答 2

4

延迟函数仅适用于动画队列(除非您传递一个作为第二个参数管理的队列)。

在这里你必须使用setTimeout

$("#ru").addClass("brc");
setTimeout(function() { $("#ru").removeClass("brc") }, 500);
于 2013-06-27T11:29:37.287 回答
2

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);
于 2013-06-27T11:30:20.793 回答