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

Баг или фича?
Мне (и, походу, разрабам CSS двига FF, или Webkit) непонятна эта строчка :

Спецификация, от пера горе-поэта

Цитата:
The values used for the keyframes and animation properties are snapshotted at the time the animation starts. Changing them during the execution of the animation has no effect.
Тут сказано (по русски), что изменять свойства анимации и ключевых кадров нельзя, когда она запущена.

Другими словами - они отпечатываются в памяти, когда анимация стартует, и если мы поменяем значение, скажем, длительности (animation-duration), то эффект будет заметен только после переприменения :

Цитата:
Note also, that changing the value of 'animation-name' does not necessarily restart an animation (e.g., if a list of animations are applied and one is removed from the list, only that animation will stop; The other animations will continue). In order to restart an animation, it must be removed then reapplied.
переприменение - это удаление нужной анимации из списка имен активных ("animation-name"), присущих ей параметров (длительность, режим заполнения, и т.д.) и прописывание их заново.

вопрос в том, чем считать запуск анимации?

<теста нет> нужен? наверняка.

Я добавляю (применяю) анимацию к элементу в приостановленном состоянии ("animation-play-state: paused")

В этом приостановленном состоянии я меняю длительность, и другие свойства на нужные (например, прописываю длительность на 5 секунд), и запускаю анимацию ("animation-play-state: running")

т.к. задержка ("animation-delay") установлена в "0s", то она стартует сразу же - т.е. на элементах появляется событие "animationstart".

Вопрос в том, что считать start'ом анимации, и является ли он "execution" анимации?
по-русски : Считать ли добавление анимации в приостановленном состоянии к элементу ее стартом?
еще по-русски : Должна ли анимация, примененная в приостановленном состоянии, считаться запущенной?

В спеке по анимаям куча неровностей, но взаимоисключающие параграфы и неточности меня просто бесят.... млять, кто это писал?

Дело в том, что FF и Webkit ведут себя по разному. У первого она разрешает себя изменять, и в итоге я получаю то, что ожидаю, второй - нет!

Вебкит проверялся на свежем Chromium, свежем Chrome Android, и свежайшем Android Browser (версия андроида 4.2.2) - везде одно и то же, т.е. вина самого вебкита.

Причем, неизвестно, как с этим бороться... когда анимация заканчивается, в Chromium я наблюдаю такую картину, когда анимация заканчивается (с событием "animationend")

/*--->*/ getComputedStyle(anim.elements[0]).webkitAnimationDuration
/*  
  установленная продолжительность анимации для элемента
*/
*!*"2.5s"    // <---- ДВЕ С ПОЛОВИНОЙ СЕКУНДЫ */!*


/*--->*/     event.elapsedTime  
/*  
  event - событие "animationend"
  elapsedTime - затраченное время на анимацию
*/

*!*0.4000000059604645 /* <---- 400 МИЛЛИСЕКУНД (время по-умолчанию) */ */!*



Кто-то из этих двух гигантов (я про браузеры) неправ. Впоследствии я выясню, кто из них семя, а кто плевел.

Нельзя Просто Сделать тест трудновато, т.к. мой тулкит тоже может быть бажным... но этот момент (описан выше) я проверял несколько раз.

Последний раз редактировалось melky, 19.02.2013 в 18:46.
Ответить с цитированием