Показать сообщение отдельно
  #25 (permalink)  
Старый 31.10.2011, 17:03
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от x-yuri
это не конкретный пример, или другими словами, мне непонятно, что это за анимации, для меня он не конкретный
в моей библиотеке animate может принимать колбэк oncomplete, который срабатывает после завершения анимации всех свойств (при абсолютной скорости они в разное время могут завершаться). Мне не очень нравится, как у меня это там записано, и я не вижу, как это можно записать заметно лучше. Вот и начал в этой теме разбираться, правда пока мне совсем не нравится то, что выходит.

Вот кусок, который меня беспокоит:
// если есть общий oncomplete
if (options && options.oncomplete) {
	// запоминаем его на массиве в котором лежат потоки анимации
	anim.oncomplete = options.oncomplete;
	// options потом попадет в new Animation, записываем в него обработчик, который при каждом вызове пробегает по всем потокам и, если все завершены, вызывает общий обработчик.
	options.oncomplete = function() {
		if (anim.every(function(subanim) { return subanim._progress == 1; })) {
			anim.oncomplete();
		}
	};
}
Ответить с цитированием