题
什么是错误的,在这个代码?我试图获得这种效果: fadeOut(500)
和 attr('class','myClass')
延迟通过600millisecs..然后 delay(600)
再次, fadeIn(500)
.延误的发生,但是正确的 attr()
是不是被延迟,火灾的时候 #myDiv
仍然褪色的!:'(
$('#myDiv').fadeOut(500)
.delay(600)
.attr('class','myClass')
.delay(600)
.fadeIn(500);
解决方案
的 .delay()
只影响或动画 fx
的队列(除非另行指定一个不同的队列具体的).请记住,链接和排队2个明显不同的概念,链接,继续使用相同的jquery设置,但是这是一个完全不同的事情比任何事件队列的要素在于组。
有的 .attr()
呼叫的影响,必须添加这为回来,使用同样的队列 .queue()
, 像这样的:
$('#myDiv').fadeOut(500)
.delay(600)
.queue(function(next) { $(this).attr('class','myClass'); next(); })
.delay(600)
.fadeIn(500);
还注意到还有 .addClass()
, .removeClass()
和 .toggleClass()
可用的方法,可能使这一点更清洁:)
不隶属于 StackOverflow