在悬停时div动画

时间:2014-03-31 11:55:02

标签: css animation html

我想知道如何让div在播放时播放CSS动画,以及当鼠标停留在它上面时如何让它向后播放动画。我已经有了动画,用一个方便的在线CSS关键帧动画生成器程序生成。

.element-animation{
 -webkit-animation: animationFrames ease 1s;
 -webkit-animation-iteration-count: 1;
 -webkit-transform-origin: 0% 0%;
 -webkit-animation-fill-mode:forwards; /*Chrome 16+, Safari 4+*/ 
}

@-webkit-keyframes animationFrames {
0% {
left:0px;
top:0px;
opacity:1;
-webkit-transform:  rotate(0deg) scaleX(1) scaleY(1) ;
}
20% {
-webkit-transform:  rotate(60deg) ;
}
40% {
-webkit-transform:  rotate(40deg) ;
}
60% {
-webkit-transform:  rotate(54deg) ;
}
80% {
-webkit-transform:  rotate(42deg) ;
}
100% {
left:0px;
top:0px;
opacity:1;
-webkit-transform:  rotate(46deg) scaleX(1) scaleY(1) ;
}
}

非常感谢所有人的帮助!

2 个答案:

答案 0 :(得分:1)

:hover添加到css类,例如element-animation:hover

检查使用Chrome测试的小提琴http://jsfiddle.net/PawelK/SF4Zy/3/

答案 1 :(得分:0)

要在悬停事件中触发CSS动画,您需要通过JavaScript添加事件侦听器。

document.querySelector('#div1').addEventListener('mouseenter', function(){
    this.classList.add('element-animation');
});

或者,如果您使用的是jQuery:

$('#div1').on('mouseenter', function(){
    $(this).addClass('element-animation');
});

fiddle