如果選擇元素的類或者集合使用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()
調用其中只有一個,並且具有執行不必要的回調的負荷和擰我的代碼/預期的行爲?
理想情況下,我只能編寫一個只能運行一次的「一次性」回調 - 否則可能有一種有效的方法來測試某些東西是否已被jQuery動畫化?
例如:http://jsfiddle.net/uzSE6/(警告 - 這將顯示一個警報框的負載)。
定義一個標誌變量,可以在文件範圍或某處通過'animate()'訪問。在'$(「#someOtherElem')。animate()'調用之前檢查它並將其設置在它的主體中,以便下次不會調用$(」#someOtherElem')。animate()「。 – fardjad 2012-01-09 18:31:08