当jQuery动画完成时,我必须使用回调函数。我总是这样做:
.animate({ properties }, duration, function() { /* callback */ });
但是,在这里提问时,我已经提出了一种语法不同的解决方案。
$('#redirectNoticeContainer').animate({ properties }, { queue: false, duration: 123 });
我应该把回调函数放在哪里?这是我的猜测,但它没有用。
$('#redirectNoticeContainer').animate({ properties }, { queue: false, duration: 123 }, function () {
console.log("ok");
setTimeout(function () { window.location.replace("/Account/Login"); }, 1200);
});
动画有效。回调没有。我应该把它放在哪里?
答案 0 :(得分:12)
That form of animate()
需要complete
选项:
$("#redirectNoticeContainer").animate({
// properties...
}, {
queue: false,
duration: 123,
complete: function() {
console.log("ok");
setTimeout(function() {
window.location.replace("/Account/Login");
}, 1200);
}
});
答案 1 :(得分:7)
你也可以使用承诺'自从jquery 1.6
$('.play-button').animate({ opacity: 0 }).promise().done(function ()
{
$('.video').addClass('playing');
});