Вы можете определить пользовательское событие, которое будет запускаться при остановке анимации, например:
$("body").bind("animationsComplete", function() {
testObject.completed++;
if (testObject.completed == testObject.needToComplete) {
testObject.run();
}
});
В каждой из ваших функций вы должны вызвать это событие:
var testObject = {
needToComplete : 3,
completed : 0,
methodOne : function(callbackMethod) {
$('#item').animate({ 'paddingLeft' : '20px'}, { duration: 200, queue: false ,complete : function(){
trigger("animationsComplete");
}});
$('#item2').animate({ 'paddingLeft' : '30px'}, { duration: 200, queue: false ,complete : function(){
trigger("animationsComplete");
}});
$('#item3').animate({ 'paddingLeft' : '40px'}, { duration: 200, queue: false ,complete : function(){
trigger("animationsComplete");
}});
},
run : function() {
alert('done');
}
};
РЕДАКТИРОВАТЬЯ понимаю, что потерял некоторые функциональные возможности вашего исходного кода (определяя, какая функция должна вызываться как обратный вызов), но я думаю, что вы в основном поймете, что я имел в виду.