添加一个css类并在指定的延迟后删除它

时间:2013-06-27 11:28:24

标签: jquery

我想在div上显示一些活动,我正在唱歌以显示一些最近的信息,我正在根据通知的类型给div一个颜色。

我这样做

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

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

为什么这不起作用?。

2 个答案:

答案 0 :(得分:4)

delay函数仅适用于动画队列(如果您传递的队列是第二个参数,则除外)。

您必须使用setTimeout

$("#ru").addClass("brc");
setTimeout(function() { $("#ru").removeClass("brc") }, 500);

答案 1 :(得分:2)

来自jQuery API网站http://api.jquery.com/delay/

  

.delay()方法最适合在排队的jQuery之间延迟   效果。因为它是有限的 - 例如,它没有提供一种方法   取消延迟-.delay()不是JavaScript本机的替代品   setTimeout函数,可能更适合某些用途   例。

在这种情况下,添加类不是效果(并且根本没有队列)

$("#ru").addClass("brc");

setTimeout(function() { 
  $("#ru").removeClass("brc");
}, 500);