ฉันไม่คิดว่าจะทำได้โดยใช้เพียงภาพเคลื่อนไหว CSS ฉันสมมติว่าการเปลี่ยน CSS ไม่เป็นไปตามกรณีการใช้งานของคุณเนื่องจาก (ตัวอย่างเช่น) คุณต้องการเชื่อมโยงภาพเคลื่อนไหวสองภาพเข้าด้วยกันใช้การหยุดหลายครั้งการทำซ้ำหรือในทางอื่น ๆ การใช้ประโยชน์จากภาพเคลื่อนไหวกำลังเพิ่มเติมที่ให้คุณ
ฉันไม่พบวิธีใดในการทริกเกอร์ภาพเคลื่อนไหว CSS โดยเฉพาะเมื่อวางเมาส์ออกโดยไม่ต้องใช้ JavaScript เพื่อแนบคลาส "over" และ "out" แม้ว่าคุณจะสามารถใช้การประกาศ CSS พื้นฐานทริกเกอร์ภาพเคลื่อนไหวเมื่อ: โฮเวอร์สิ้นสุดลง แต่ภาพเคลื่อนไหวเดียวกันนั้นจะทำงานในการโหลดหน้าเว็บ การใช้คลาส "over" และ "out" คุณสามารถแบ่งคำจำกัดความออกเป็นคำประกาศฐาน (โหลด) และการประกาศทริกเกอร์แอนิเมชันสองรายการ
CSS สำหรับโซลูชันนี้จะเป็น:
.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);
}
}
และใช้ JavaScript (jQuery syntax) เพื่อผูกคลาสเข้ากับเหตุการณ์:
$(".class").hover(
function () {
$(this).removeClass('out').addClass('over');
},
function () {
$(this).removeClass('over').addClass('out');
}
);