这段代码有什么问题?我试图得到这样的效果:fadeOut(500)
and attr('class','myClass')
延迟了 600 毫秒..然后delay(600)
再次,并且fadeIn(500)
。延迟发生是正确的,但是attr()
没有被延迟,它会在什么时候触发#myDiv
还在褪色! :'(
$('#myDiv').fadeOut(500)
.delay(600)
.attr('class','myClass')
.delay(600)
.fadeIn(500);
The .delay()只影响动画或fx
队列(除非您专门指定不同的队列)。请记住,链接和队列是两个截然不同的概念,链接继续使用相同的 jquery 集,但这与该集中元素上的任何事件队列完全不同。
为了拥有.attr()调用受影响,您必须使用将其作为回调添加到同一队列.queue(), 像这样:
$('#myDiv').fadeOut(500)
.delay(600)
.queue(function(next) { $(this).attr('class','myClass'); next(); })
.delay(600)
.fadeIn(500);
还要注意有.addClass(), .removeClass() and .toggleClass()可用的方法可能会让这变得更干净:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)