jQueryでアニメーション化する要素のクラスまたはコレクションを選択した場合:
$('.myElems').animate({....});
また、コールバック関数を使用すると、多くの不要なanimate()
呼び出しが発生します。
var i=1;
$('.myElems').animate({width:'200px'}, 200, function(){
//do something else
$('#someOtherElem').animate({opacity:'1'}, 300, function(){
if (i>1) console.log('the '+i+'-th waste of resources just finished wasting your resources');
i++;
});
});
おそらくこれは単に悪いコードやデザインです-しかしanimate()
、コールバックを使用してそのうちの1つだけで多くの呼び出しを行うことと、不要なコールバックを実行してコード/期待される動作を台無しにすることの両方を回避するために私ができることはありますか?
理想的には、一度だけ実行される単一の「使い捨て」コールバックをコーディングできると思います。そうでなければ、何かがすでにjQueryによってアニメーション化されているかどうかをテストする効率的な方法がありますか?
例: http: //jsfiddle.net/uzSE6/(警告-これにより、大量のアラートボックスが表示されます)。