jQuery延迟不工作

$('.transparent').removeClass('transparent').delay(2000).addClass('not_transparent').delay(4000) 

我有一个半透明的div,然后想切换到不透明。 但是jQuery .delay(); 方法似乎在这里工作。 我试过.fadeIn(); 相反,这工作延迟,但它不工作的变化的class级。

.delay()用于作为queue一部分的项目,如animation。 一个简单的addClass不排队。

你可以使用setTimeout

 var trans = $('.transparent').removeClass('transparent'); setTimeout(function() { trans.addClass('not_transparent'); }, 2000); 

作为替代scheme,您可以使用.queue()将未排队的项目添加到队列中,但我认为setTimeout会更好。

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

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

你可以使用像 –

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

.delay()不能和.addClass()标签一起使用,所以只需使用:

 delay(); function delay(){ $('.pgtitle').delay(5000).fadeIn(0).addClass('animated bounceInDown'); }