Перезапуск анимации

Анимацию CSS (в совокупности с @-webkit-keyframes) не так просто "перезапустить", как может казаться. Допустим, мы запустим анимацию один раз:

.run-animation {
   -webkit-animation: my-fancy-animation 5s once;
}

И она используется, например, для логотипа компании:

<h1 id="logo" class="run-animation">
    Нажми меня
</h1>

А потом по каким-то причинам вам надо запустить ее еще раз, например по нажатию клавиши на элементе. Способа CSS для того, чтобы выкинуть анимацию и снова ее загрузить нет (по крайней мере, в узких рамках осведомлённости автора). Можно использовать JavaScript (jQuery), чтобы удалить и повторно добавить заданный класс:

$("#logo").click(function() {
      // А вот не работает!
      $(this).removeClass("run-animation").addClass("run-animation");
});

Что в действительности нужно сделать, так это удалить элемент со страницы полностью и повторно его вставить. Вот простенький пример на jQuery. Клонируем элемент, вставляем перед оригиналом, а оригинал удаляем.

$("#logo").click(function() {   

          var el     = $(this),
          newone = el.clone(true);

          el.before(newone);

          $("." + el.attr("class") + ":last").remove();

});

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/1PzB__FJjSE/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Перезапуск анимации | | 2012-06-19 12:08:02 | | Статьи Web-мастеру | | Анимацию CSS (в совокупности с @-webkit-keyframes) не так просто перезапустить, как может казаться. Допустим, мы запустим анимацию один раз:.run-animation { -webkit-animation: my-fancy-animation 5s | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: