(Мой первоначальный ответ был "удален" посредством редактирования, потому что он был просто неверным.)
Это похоже на допустимую ошибку в реализации Webkit или, по крайней мере, что-то очень неожиданное.Потому что, если вы делаете setTimeout
, например, так:
function startAnimation()
{
$("#flash-message").toggleClass('animate');
if (!$("#flash-message").hasClass('animate'))
{
setTimeout(function ()
{
$("#flash-message").addClass('animate');
}, 1);
}
}
Тогда это работает.То есть, отсрочка добавления класса на более поздний срок, кажется, заставляет Webkit понять, что он должен перезапустить анимацию.
Не очень хорошее решение, но тот факт, что это была 1 миллисекунда setTimeout
, означаетпо крайней мере, это не проблема времени ... хотя и довольно странная.