Вы можете использовать классы и setTimeout
, чтобы использовать переходы CSS3 для эффекта анимации:
CSS -
#some-element {
-webkit-transition : all 0.5s linear;
-moz-transition : all 0.5s linear;
-ms-transition : all 0.5s linear;
-o-transition : all 0.5s linear;
transition : all 0.5s linear;
}
#some-element.ani-state {
-webkit-box-shadow : 0 0 24px #000;
-moz-box-shadow : 0 0 24px #000;
box-shadow : 0 0 24px #000;
}
Я использовал all
для объявлений перехода из-за Chrome ... некоторые версии Chrome используют -webkit-box-shadow
, а более новые версии используют box-shadow
. all
не имеет большого значения, если вы не изменяете какие-либо другие свойства элемента (или если вы хотите анимировать эти изменения свойств).
JS -
$(function () {
var $someElement = $('#some-element');
$someElement.on('click', function () {
$someElement.addClass('ani-state');
setTimeout(function () {
$someElement.removeClass('ani-state');
}, 500);
});
});
Вот демоверсия: http://jsfiddle.net/jasper/tvfPq/1/
Обратите внимание, что в демоверсии я использовал два box-shadows
: box-shadow : 0 0 24px #000, inset 0 0 24px #999;