Jquery 在动画上绑定事件

Jquery 在动画上绑定事件,jquery,event-handling,jquery-animate,Jquery,Event Handling,Jquery Animate,我有几个元素在箭头单击时被设置动画 现在我想,如果他们正在被动画化,调用一个事件 问题是,它们都以不同的方式被激活,所以我不得不 分别在每个元素上触发此事件 有没有办法做一些像$('div:animated').live(…)之类的事情 会在动画元素上触发事件吗 $("div").animate({ "top":20 },1000,function(){ callback(); }); function callback(){ //stuff here } 或 最好的

我有几个元素在箭头单击时被设置动画
现在我想,如果他们正在被动画化,调用一个事件
问题是,它们都以不同的方式被激活,所以我不得不
分别在每个元素上触发此事件

有没有办法做一些像
$('div:animated').live(…)
之类的事情
会在动画元素上触发事件吗

$("div").animate({
    "top":20
},1000,function(){
    callback();
});

function callback(){
    //stuff here
}

最好的办法! 只需在每次设置元素动画时使用回调

我唯一能想到的其他方法是setInterval和检查元素top值的变化等,但这将是混乱的,不建议这样做

只需点击并使用回调。最佳做法


除非其他人有任何想法。

这不管用吗?这只会触发一次,每次动画发生时我都需要绑定一些东西。您可以创建一个触发器,每次运行
animate()
时都要调用它,这是触发动画的常见事件吗?如果是,就触发一个“runanimation”事件或其他事件。我希望被设置动画的元素根据它们的位置改变大小,但是我不想在每个单独的元素动画上都写上它,我希望我可以捕捉动画事件,当它运行时,根据它们的位置改变它们的大小
$("#layer1, #layerMask").animate({
    "top":10
},{
    queue:false,
    duration:1000, 
    easing:"easing method if required", 
    complete:function(){
    callbacks();
    }   
});

function callback(){
    //stuff here
}