Показать сообщение отдельно
  #2 (permalink)  
Старый 25.04.2014, 01:22
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Octane
Допустим, мы не успели поймать событие animationend, как тогда определить, что анимация элемента закончилась?
хаки и велосипеды начинаются с этой строки А почему нельзя поймать это событие?
или это чисто тема на рассуждение ?

Сообщение от Octane
computedStyle.animationPlayState так и продолжает возвращать значение running, даже если анимация уже прошла.
свойство не для того сделано, чтобы показывать, проигрывается ли анимация или нет

Сообщение от Octane
Есть идеи?
Можно проверить по computedStyle одного из свойств, которое участвует в анимации. Определить, какое свойство участвует, можно по keyframesRule анимации.. а это keyframesRule можно найти из animationName.

Если режим заполнения (overflow) анимации стоит "forwards" или "both" - значением вычисленного стиля элемента будет значение последнего (!) ключевого кадра.

Если режим заполнения стоит "backwards" или "none" - значением вычисленного стиля будет значение, определённое НЕ из анимации - т.е. либо из каскадного стиля (вероятнее всего), либо из чего-нибудь другого.

Последний ключевой кадр - это последний ключевой кадр (спс К.О.) Не помню, влияет ли на то, каким будет последний ключевой кадр, свойство iterationCount с нецелым значением (напр. "1.5" проиграет один проход и ещё половину следующего прохода)

А вот animationDirection, установленное не в 'normal', обращает наоборот последний ключкадр через экстраполяцию.

... не помню всех деталей. всего лишь полгода прошло)

Последний раз редактировалось melky, 25.04.2014 в 01:28.
Ответить с цитированием