Если вы выбираете класс или коллекцию элементов для анимации с помощью 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()
вызовов только с одним из них, использующих обратный вызов, и иметь массу ненужных обратных вызовов, выполняющихи мне не нравиться мой код / ожидаемое поведение?
В идеале я бы просто мог закодировать один «одноразовый» обратный вызов, который будет выполняться только один раз - в противном случае, возможно, существует эффективный способ проверить, что-то уже происходит.animated by jQuery?
Пример: http://jsfiddle.net/uzSE6/ (предупреждение - будет отображено множество ящиков с предупреждениями).