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
}