我遇到以下代码时出现问题:
$(".active").animate({
opacity:0
},{queue: false, duration:1000}, function(){
console.log("queue??");
$(".active").css('display', 'none');
$(".active").removeClass("active");
initiatePage();
});
添加queue: false
后,function()
根本没有运行......但如果我不这样做,他们只是排队,我也不希望这种情况发生......有没有办法制作这个动画,一切都跟着它queue: false
??
如果我能提供任何便于您帮助的信息,请告诉我。
谢谢!
答案 0 :(得分:8)
阅读animate()手册。使用options
时,应使用complete
选项传递回调。
complete:动画完成后调用的函数。
$(".active").animate({opacity:0},{
queue : false,
duration : 1000,
complete : function() {
$(this).hide().removeClass('active');
initiatePage();
}});
答案 1 :(得分:0)
使用核心插件jquery-timing,您可以缩短解决方案:
$(".active").animate({opacity:0},{queue:'foo', duration:1000})
.join('foo').hide().removeClass('active').then(initiatePage);
在jQuery链中使用.join()可以解决问题。