2013-05-27 3 views
1

Я не могу найти способ воспроизведения анимации до конца, когда элемент: hover.CSS3 Анимация + @keyframe запускается до конца

  • Когда i: наведите указатель мыши, сброс анимации - но я хочу, чтобы он продолжался до конца.
  • JsFiddle
<div class="picture"></div> 
.picture:hover { 
     -webkit-animation:swing 1s ease-in-out; 
    } 


    @-webkit-keyframes swing { 
     [...] 
    } 
+0

Я думаю, что тег: hover недостаточно для этого, мне нужны js или другие псевдо-теги. – Slake

ответ

4

Возможно не полное решение, но добавить следующее к вашему классу изображения:

-webkit-animation:swing 3600ms ease-in-out 6000s; 
-webkit-transform-origin:top; 

JsFiddle: http://jsfiddle.net/5SueS/4/

+0

Интересно, запустив анимацию через некоторое время - но почему анимация не останавливается на ': hover OUT', поскольку анимация тигрирует по:: hover. – Slake

+1

Потому что та же анимация запускается на классе изображения (хотя и с нелепой долгой задержкой). Он видит, что у него тоже есть анимация, поэтому он продолжает играть даже после выскочки. Вероятно, есть лучший способ, например, сказать, что играть в анимацию 0 раз вместо длительной задержки, но это было первое, что я пробовал, и это сработало. –

1

Я сделал, как этот http://jsfiddle.net/Z5aq7/

Вместо зависания, я просто сделал это класс (.animate) и добавив класс по наведению

$('.picture').hover(function(){ 
    $(this).addClass('animate'); 
}); 

Надеюсь это поможет!

Смежные вопросы