Bunun sadece CSS animasyonları kullanılarak gerçekleştirilebileceğini düşünmüyorum. CSS geçişleri olduğunu varsayıyorum yok (örneğin) İki animasyonlar birlikte zincire istiyorum çünkü, sizin kullanım örneğini yerine getirmek birden durur, yineleme veya başka bir şekilde ilave güç animasyonlar sizi hibe istismar kullanın.
"Over" ve "out" sınıflarını eklemek için JavaScript kullanmadan, özellikle fareyi uzaklaştırmada bir CSS animasyonunu tetiklemenin bir yolunu bulamadım. Temel CSS bildirimini kullanabilmenize rağmen: hover bittiğinde bir animasyonu tetikleyebilseniz de, aynı animasyon sayfa yüklendiğinde de çalışacaktır. "Over" ve "out" sınıflarını kullanarak tanımı temel (yük) bildirimine ve iki animasyon-tetikleyici bildirimine bölebilirsiniz.
Bu çözüm için CSS şu şekilde olacaktır:
.class {
}
.class.out {
animation-name: out;
animation-duration:2s;
}
.class.over {
animation-name: in;
animation-duration:5s;
animation-iteration-count:infinite;
}
@keyframes in {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes out {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
Ve sınıfları olaylara bağlamak için JavaScript (jQuery sözdizimi) kullanma:
$(".class").hover(
function () {
$(this).removeClass('out').addClass('over');
},
function () {
$(this).removeClass('over').addClass('out');
}
);