jQuery延迟无法正常工作

时间:2011-08-07 23:21:32

标签: jquery delay

  

可能重复:
  jQuery: Can I call delay() between addClass() and such?

你好,我有一个问题。

以下jQuery代码对我不起作用..

$("#message").addClass("highlightError").delay(15000).removeClass("highlightError");

错误是什么?

该课程甚至没有添加..我用Firebug检查过,没有显示错误..

请帮忙

感谢|!

2 个答案:

答案 0 :(得分:3)

效果队列不使用

removeClass,因此延迟对它没有影响。要使其在效果队列中调用,请使用queue()手动添加它:

$(function(){
    $("#message").addClass("highlightError").delay(2000).queue(function(){
        $(this).removeClass("highlightError");
        $(this).dequeue();
    });
});

在这里工作:http://jsfiddle.net/QkpJn/1

答案 1 :(得分:0)

delay()方法允许我们延迟队列中跟随它的函数的执行。它可以与标准效果队列一起使用,也可以与自定义队列一起使用。只有队列中的后续事件才会延迟;例如,这不会延迟不使用效果队列的.show()或.hide()的无参数形式。

请参阅James Khoury的链接,了解如何制作自定义队列