什么是错误的,在这个代码?我试图获得这种效果: 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() 可用的方法,可能使这一点更清洁:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top