$('#one, #two').animate({opacity: 100}, function() {
console.log($.now());
});
因为此代码有2个选择器,所以回调运行两次。有没有办法让它只运行一次?
答案 0 :(得分:4)
您可以使用.promise()
和deferred.then()
等待动画队列完成,而不是使用完整的回调。
$('#one, #two').animate({opacity: 1}).promise().then(function() {
console.log($.now());
});
请注意,promise将在整个队列完成后解析,因此如果在第一个动画完成之前排队其他动画,则需要使用其他技术。