Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.04.2014, 01:36
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

А если поставим начальные значения top и left отличные от 0, callback выполнится через 1 секунду, а не как положено через 5.
В твоем примере resolve выполняется по первому сработавшему animationend, а я пытаюсь сделать событие allNewAnimationsEnd.
Ладно узнали мы имена новых анимаций, можно попробовать дождаться окончания их всех. НО мы не знаем какие из этих анимаций будут выполняться.

Наверное, буду пока что считать getFiniteAnimationName только для новых анимаций, а delay будет:
var delay = Math.max(
    getTransitionTime(style),
    getFiniteAnimationTime(style, newAnimationNames)
);
Интересно, значит все таки 1 animationend гарантированно срабатывает (надеюсь во всех браузерах). Я почему-то был уверен, что если еще и для left поставлю начальное значение 0, то вообще ни одно событие не сработает и callback никогда не выполнится.

Последний раз редактировалось Octane, 26.04.2014 в 02:00.
Ответить с цитированием
  #12 (permalink)  
Старый 26.04.2014, 01:46
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

я там код обновил, глянь его

Сообщение от Octane Посмотреть сообщение
А если поставим начальные значения top и left отличные от 0, callback выполнится через 1 секунду, а не как положено через 5.
можно пример на основе текущего codepen?

Сообщение от Octane Посмотреть сообщение
В твоем примере resolve выполняется по первому сработавшему animationend, а я пытаюсь сделать событие allNewAnimationsEnd.
я это дело пофиксил в последней обнове. теперь там список

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

Сообщение от Octane Посмотреть сообщение
Интересно, значит все таки 1 animationend гарантированно срабатывает (надеюсь во всех браузерах). Я почему-то был уверен, что если еще и для left поставлю начальное значение 0, то вообще ни одно событие не сработает и callback никогда не выполнится.
там по нескольку раз срабатывает. для каждой анимации один раз
Ответить с цитированием
  #13 (permalink)  
Старый 26.04.2014, 02:19
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Теперь наоборот ждем 5 сек, вместо 1 сек, если top=0

Сообщение от melky
это как? зачем применять анимацию, если она не проигрывается?
Как в примере, который разбираем, одним классом добавляется 2 анимации, одна из которых выполняется.

----------------------
Сообщение от Octane
http://learn.javascript.ru/play/hOiFcb
Произойдет только одна пара событий animationstart и animationend
Наврал. Ненавижу группировку одинаковых сообщений в консоли!!!11 Все таки события animation всегда происходят, в отличие от transition. В этом была моя основная путаница. Да, getFiniteAnimationTime тогда можно выкинуть.

Последний раз редактировалось Octane, 26.04.2014 в 02:23.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
Как определить была ли ссылка посещена Почемучкин Элементы интерфейса 12 10.09.2012 10:54
Как сделать что бы при регистрации человека на моем сайте у него не появлялось... drunkwolfs Общие вопросы Javascript 2 07.08.2012 10:58
способы организации кода melky Общие вопросы Javascript 17 01.10.2011 22:57
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02