jQuery延迟不工作

jQuery延迟不工作,jquery,Jquery,我有一个半透明的div,然后想将其切换为非透明。但是jQuery.delay();方法在这里似乎不起作用。我试过了;相反,这会产生延迟,但不适用于不断变化的类。用于队列中的项目,如动画。简单的addClass未排队 您可以使用setTimeout $('.transparent').removeClass('transparent').delay(2000).addClass('not_transparent').delay(4000) 另一种选择是,您可以使用将非排队项目添加到队列中,不过我

我有一个半透明的div,然后想将其切换为非透明。但是jQuery.delay();方法在这里似乎不起作用。我试过了;相反,这会产生延迟,但不适用于不断变化的类。

用于
队列中的项目,如动画。简单的
addClass
未排队

您可以使用
setTimeout

$('.transparent').removeClass('transparent').delay(2000).addClass('not_transparent').delay(4000)
另一种选择是,您可以使用将非排队项目添加到队列中,不过我认为使用
setTimeout
会更好

var trans = $('.transparent').removeClass('transparent');
setTimeout(function() {
    trans.addClass('not_transparent');
}, 2000);
.delay()
不能与函数外部的
.addClass()
标记一起使用,因此只需使用:

$('.transparent').removeClass('transparent').delay(2000).queue(function(nxt) {
      $(this).addClass('not_transparent');
      nxt();
});

我知道这是一个老问题,但是仍然有很多来自谷歌的流量,所以我会加上我的两分钱

你可以用像这样的东西-

$('.transparent').fadeIn().delay(500).queue(function()函数){
$('.transparent').addClass('yourclass');

});为什么你认为setTimeout更好?@Sam:它非常简单,是一个本机实现。我不知道
queue()
会带来什么样的开销,但我肯定这比
setTimeout
要多得多。为什么要从函数本身调用它呢?nxt()+我尝试了这两种解决方案,最初计划使用jQuery解决方案,但发现它只在第一次触发事件时起作用。第二个解决方案很好。我一直在努力解决
$(#idOfTheThing).delay(1000.show()$(#idOfTheThing).delay(1000).fadeIn()工作起来很有魅力
delay();
function delay(){
     $('.pgtitle').delay(5000).fadeIn(0).addClass('animated bounceInDown');
}